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

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

我正在尝试使用默认的android方式将图像设置为墙纸,并将其存储在drawable文件夹中See this Image link

我尝试了其他问题的回答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 android-studio 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.