android - 如何启动 "set as"intent(壁纸、联系人图片等)

标签 android android-intent wallpaper

我在过去的几周里(认真地)在网上搜索过,但我找不到我需要的东西。我只想启动一个与 set as 操作相对应的 Intent 。它通常提供设置为墙纸设置为联系人图片。然后,如果设备上安装了更多应用程序,它们也可以列出。

这是我想要的示例:

enter image description here

我明确表示我需要支持 API 级别 14 及更高级别。 我找到了 getCropAndSetWallpaperIntent 但它仅适用于 content URI 这对我来说是个问题,并且仅适用于 API lvl 19 及更高版本。

最佳答案

我自己找到了答案:

Intent intent = new Intent(Intent.ACTION_ATTACH_DATA);
intent.setDataAndType(imageUri, "image/*");
intent.putExtra("jpg", "image/*");
startActivityForResult(Intent.createChooser(intent,
getString(R.string.set_as)), REQUEST_ID_SET_AS_WALLPAPER);

您只需确保该 uri 是公开的,并且用户选择的裁剪应用程序可以访问它。

关于android - 如何启动 "set as"intent(壁纸、联系人图片等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26663232/

相关文章:

android - 小米和 Oppo 的后台服务受到限制

c# - Unity Survival Shooter Enemy 不受伤害 - Android

android - Kotlin 1.5.0 不适用于 Dagger 2?

android - 如果在 Android 10+ 中禁用旧版外部存储访问,则以编程方式测试

java - 从 android 中的服务接收广播时出现 NULL 对象引用错误

android - 当我的 Activity 依赖于通过 Intent 传递的额外内容时,如何编写 android JUnit 测试?

android - 使用 geo : intent to display a map at a specified location and zoom level 显示多个标记

android - 如何将一些壁纸 bundle 到我的自定义 AOSP ROM 中?

android - 将应用程序中的图像设置为墙纸

transparency - iOS 7 - 将用户壁纸显示为 UIWindow 背景