什么是打开图库的可靠方法?
下面的代码工作的大部分时间:什么是打开图库的可靠方法?
intent = new Intent(Intent.ACTION_VIEW, Uri.parse("content://media/internal/images/media"));
startActivity(intent);
它抛出以下异常有时(由错误日志从用户报告):
android.content.ActivityNotFoundException:无活动处理意图{ ACT = android.intent.action.VIEW DAT =含量://媒体/内部/图像/媒体}
堆栈跟踪:
android.content.ActivityNotFoundException:无活动发现处理 意图{行为= android.intent.action.VIEW DAT =含量://媒体/内部/图像/媒体}在 android.app。 Instrumentation.checkStartActivityResult(Instrumentation.java:1899) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1589) at android.app.Activity.startActivityForResult(Activity.java:4228) at android.support.v4 .app.k.startActivityForResult(SourceFile:50)at android.support.v4.app.p.startActivityForResult(SourceFile:79)at android.app.Activity.s tartActivityForResult(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设备没有图库。
我想知道如果一些用户的Android设备没有画廊。
没有为任何Android装置具有任何导出活动,支持该特定Intent
结构(ACTION_VIEW
无论何种MIME类型被绑定到该Uri
,加上content
方案)没有要求。
除此之外,没有一个名为“图库”的应用程序。在大约20亿个设备和大约10,000个设备模型中,可能有数百个应用程序担任这个普通角色,而设备可能没有任何此类应用程序。
什么是在Android上打开Gallery的可靠方法?
See CATEGORY_APP_GALLERY
,并确保处理没有匹配活动的情况。
试试这个
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);
感谢您的帮助。我只想让用户以正常的方式使用Gallery。换句话说,它相当于单击Android上的图库。 – Hong
感谢您的澄清。在我们所有测试的Android设备和Android模拟器上,Gallery是应用程序页面上的一个项目。它不是一个应用程序? – Hong
@洪:有很多名为“图库”的应用程序。我可以想象,有100多款应用程序可以作为预先安装在这些〜10,000设备型号上的“图库”。 – CommonsWare
@洪:更重要的是,你的代码与画廊无关。您正在寻找可以查看提供商的特定内容集合的活动。我可以轻松编写一个名为“这不是图库”的应用程序,该应用程序提供了一个响应该“意图”结构的活动。我提供的功能可能与您要查找的内容无关。 – CommonsWare