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

问题描述 投票:0回答:1

我正在尝试使用默认的android方式将图像设置为墙纸,并将其存储在drawable文件夹中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有问题?

android wallpaper android-wallpaper
1个回答
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) );
© www.soinside.com 2019 - 2024. All rights reserved.