You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Intent与内置库实现点击按钮设置主屏及锁屏壁纸

Android 调用系统内置壁纸设置对话框方案

直接调用系统原生的壁纸设置Intent,就能弹出包含「主屏」「锁屏」「两者都设置」选项的对话框,无需自行实现弹窗逻辑,具体代码如下:

Java 实现

在按钮点击事件中添加以下代码:

// 基础调用,打开系统壁纸选择界面
Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER);
startActivity(Intent.createChooser(intent, "设置壁纸"));

// 若要指定特定图片设置,可传入图片Uri
Uri targetImageUri = Uri.parse("content://media/external/images/media/xxx"); // 替换为你的图片Content Uri
Intent imageIntent = new Intent(Intent.ACTION_SET_WALLPAPER);
imageIntent.setDataAndType(targetImageUri, "image/*");
startActivity(Intent.createChooser(imageIntent, "设置壁纸"));

Kotlin 实现

// 基础调用
val intent = Intent(Intent.ACTION_SET_WALLPAPER)
startActivity(Intent.createChooser(intent, "设置壁纸"))

// 指定图片的调用方式
val targetImageUri = Uri.parse("content://media/external/images/media/xxx") // 替换为目标图片Uri
val imageIntent = Intent(Intent.ACTION_SET_WALLPAPER).apply {
    setDataAndType(targetImageUri, "image/*")
}
startActivity(Intent.createChooser(imageIntent, "设置壁纸"))

权限说明

  • Android 10(API 29)及以上:无需额外权限,系统壁纸应用会处理权限逻辑
  • Android 6.0(API 23)至 Android 9(API 28):需提前申请 WRITE_EXTERNAL_STORAGE 权限,并在运行时动态请求

内容的提问来源于stack exchange,提问作者Samad Pracha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 18:09:26