无法将图片设置为。 “没有appps可以执行此操作”

时间:2016-02-25 06:07:13

标签: android android-intent android-imageview android-menu android-wallpaper

我正在尝试为用户提供将图像设置为wallpaper / whatsapp dp的选项。 enter image description here

但我坚持使用这段代码

Uri sendUri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.a_day_without_thinking_mobile);

Intent intent = new Intent(Intent.ACTION_ATTACH_DATA);
intent.setDataAndType(sendUri, "image/jpg");
intent.putExtra("mimeType", "image/jpg");
startActivity(Intent.createChooser(intent,"Set As"));

它显示一个对话框,任何应用都无法执行此操作。 我也尝试通过这种方法检查我的Uri

        ContentResolver cr = getContentResolver();
        String[] projection = {MediaStore.MediaColumns.DATA};
        Cursor cur = cr.query(sendUri, projection, null, null, null);
        if (cur != null) {
            if (cur.moveToFirst()) {
                String filePath = cur.getString(0);

                if (new File(filePath).exists()) {
                    Log.d("URI: ","File path exist");
                } else {
                    Log.d("URI: ","File not found");
                }
            } else {
                Log.d("URI: ","URI ok but no enty found");
            }
            cur.close();
        } else {
            Log.d("URI: ","URI was invalid for some other reason");
        }

它始终返回URI无效。但我确信该图像是有效的jpg并存在于原始文件夹中。 我尝试更改URI路径,但没有成功。

1 个答案:

答案 0 :(得分:0)

targetSdkVersion >= 24后更改了Android文件的读取格式

您可以在此处找到详细信息; https://stackoverflow.com/a/38858040/1367450