什么是打开图库的可靠方式?

时间:2017-10-13 12:40:50

标签: android android-activity android-gallery

以下代码大部分时间都有效:

intent = new Intent(Intent.ACTION_VIEW, Uri.parse("content://media/internal/images/media"));
startActivity(intent);

它有时会抛出以下异常(由用户的错误日志报告):

  

android.content.ActivityNotFoundException:找不到处理Intent的Activity {   ACT = android.intent.action.VIEW   dat = content:// media / internal / images / media}

堆栈追踪:

  

android.content.ActivityNotFoundException:找不到要处理的Activity   意图{act = android.intent.action.VIEW   dat = content:// media / internal / images / media} at   android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1899)     在   android.app.Instrumentation.execStartActivity(Instrumentation.java:1589)     在android.app.Activity.startActivityForResult(Activity.java:4228)     在android.support.v4.app.k.startActivityForResult(SourceFile:50)at   android.support.v4.app.p.startActivityForResult(SourceFile:79)at   android.app.Activity.startActivityForResult(Activity.java:4187)at   android.support.v4.app.p.startActivityForResult(SourceFile:859)at   android.app.Activity.startActivity(Activity.java:4515)at   android.app.Activity.startActivity(Activity.java:4483)

我想知道是否有些用户' Android设备没有图库。

2 个答案:

答案 0 :(得分:1)

  

我想知道是否有些用户' Android设备没有图库。

任何Android设备都不需要任何支持特定Intent结构的导出活动(ACTION_VIEW,因为任何MIME类型与Uri绑定,加上{{{} 1}}计划)。

除此之外,没有一个名为" Gallery"的应用程序。在大约20亿台设备和~10,000台设备型号中,可能有数百个应用程序可以发挥这种一般性作用,而设备可能没有任何此类应用程序。

  

在Android上打开图库的可靠方法是什么?

See CATEGORY_APP_GALLERY,并确保处理没有匹配活动的情况。

答案 1 :(得分:0)

试试这个

Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent.setType("image/*");
startActivityForResult(Intent.createChooser(intent, "Select image"), reqCode);