如何获得默认的“设置墙纸”意图

时间:2019-11-09 14:31:38

标签: android wallpaper android-wallpaper

我正在尝试使用默认的android方式将图像设置为墙纸从可绘制文件夹中存储 enter image description here

我尝试了其他问题的回答 here

但是我遇到了错误  “没有应用程序可以执行此操作”

我获取uri的代码-

Uri uri=Uri.parse("android.resource://drawable/sharingan.jpg");

Intent intent=new Intent(Intent.ACTION_ATTACH_DATA);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setDataAndType(uri,"image/*");
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.putExtra("mimeType","image/*");
startActivity(Intent.createChooser(intent,"Set as"));

还有另一种方法可以实现这一目标吗? 还是我的uri有问题?

1 个答案:

答案 0 :(得分:0)

像下面一样构造uri对象

Uri uri = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE +
 "://" + getResources().getResourcePackageName(R.drawable.sharingan)
 + '/' + getResources().getResourceTypeName(R.drawable.sharingan) + '/' + getResources().getResourceEntryName(R.drawable.sharingan) );