从存储应用程序崩溃加载图像时

时间:2014-12-06 20:15:08

标签: android android-intent

我正在尝试从存储中加载图片,但应用程序崩溃并给我这个错误:

12-06 22:08:41.539: E/AndroidRuntime(28957): android.content.ActivityNotFoundException:  No Activity found to handle Intent { act=android.intent.action.VIEW  dat=file://android.graphics.Bitmap@429af028file:///storage/emulated/0/My Folder/1417896511752.jpg }
12-06 22:08:41.539: E/AndroidRuntime(28957):    at  android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1660)
12-06 22:08:41.539: E/AndroidRuntime(28957):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1430)

这是我正在使用的代码

Intent intent = new Intent();
              intent.setAction(Intent.ACTION_VIEW);
                intent.setDataAndType(Uri.parse("file://" + bitmap + fileUri), null);
                startActivity(intent);
            return;
          }
      });

不确定我在这里做错了什么,因为如果我在`(“file .....)之前移除Uri.parse,意图确实有效;

有人可以帮助我吗?

由于

3 个答案:

答案 0 :(得分:1)

尝试更改此行

intent.setDataAndType(Uri.parse("file://" + bitmap + fileUri), null);

intent.setDataAndType(Uri.parse("content://" + bitmap + fileUri),  "image/*");

答案 1 :(得分:0)

您没有处理意图的活动 试试这个。

if (intent.resolveActivity(getPackageManager()) != null) {
    startActivity(intent);
}

答案 2 :(得分:0)

你没有活动,这就是错误所说的。也许您可以在致电startActivity()之前查看活动。

此外,您确定删除Uri.parse时是否有效?因为它不应该因为setDataAndType需要URI作为数据而不是String所以它应该是一个错误。