首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓-使用“壁纸集”意图的壁纸

安卓-使用“壁纸集”意图的壁纸
EN

Stack Overflow用户
提问于 2014-03-06 02:48:19
回答 4查看 9.9K关注 0票数 11

这个问题被问到了herehere,但是没有真正的答案。

Android有内置的“集壁纸”功能,当使用mime "image/jpeg“或在浏览器中长时间点击图像时,这种功能是可用的。

我的问题是:如何使用文件Uri以编程方式调用内置的“设置墙纸”特性?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-03-07 11:52:42

这个问题似乎没有答案,但我确实找到了一个解决办法:

代码语言:javascript
复制
    Intent intent = new Intent(Intent.ACTION_ATTACH_DATA);
    intent.addCategory(Intent.CATEGORY_DEFAULT);
    intent.setDataAndType(uri, "image/jpeg");
    intent.putExtra("mimeType", "image/jpeg");
    this.startActivity(Intent.createChooser(intent, "Set as:"));
票数 22
EN

Stack Overflow用户

发布于 2014-11-24 00:27:37

对我来说,只工作:

代码语言:javascript
复制
Intent intent = new Intent(Intent.ACTION_ATTACH_DATA);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setDataAndType(uri, "image/*");
intent.putExtra("mimeType", "image/*");
this.startActivity(Intent.createChooser(intent, "Set as:"));

如果mime " image /jpeg“应用程序找不到图像。

票数 7
EN

Stack Overflow用户

发布于 2019-05-18 15:22:15

如果应用程序在选择要设置壁纸的应用程序后崩溃,则需要添加

代码语言:javascript
复制
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

一个典型的例子是电子邮件应用程序中的附件。访问电子邮件应该受到权限的保护,因为这是敏感的用户数据。但是,如果将图像附件的URI授予图像查看器,则该图像查看器不再具有打开附件的权限,因为它没有理由持有访问所有电子邮件的权限。 这个问题的解决方案是每个URI的权限:当启动一个活动或返回一个活动的结果时,调用者可以设置Intent.FLAG_GRANT_READ_URI_PERMISSION和/或Intent.FLAG_GRANT_WRITE_URI_PERMISSION。这授予接收活动权限访问意图中的特定数据URI,而不管它是否具有访问与意图相对应的内容提供程序中的数据的任何权限。https://developer.android.com/guide/topics/permissions/overview

代码语言:javascript
复制
val intent = Intent(Intent.ACTION_ATTACH_DATA)
        .apply {
            addCategory(Intent.CATEGORY_DEFAULT)
            setDataAndType(uri, "image/*")
            putExtra("mimeType", "image/*")
            addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
        }
    startActivity(Intent.createChooser(intent, "Set as:"))
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22213878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档