0

我正在尝试加载仅显示系统库中视频文件的文件列表。

final Intent intent1 = new Intent(Intent.ACTION_PICK);
intent1.setDataAndType(android.provider.MediaStore.Video.Media.EXTERNAL_CONTENT_URI, "video/*");
startActivityForResult(intent1, ACTIVITY_SELECT_VIDEO);

并且我ActivityNotFound在调试器上遇到异常,导致应用程序崩溃在画廊确实加载的实际手机上仅显示视频文件。

这正是仅加载图像文件时的工作原理,除非没有崩溃。

我如何:

a)一致地加载正确的画廊

b) 捕获此异常或使用条件语句避免它,因为它在所有设备上的行为都不相同

4

1 回答 1

1

一致地加载正确的画廊

我会转储"video/*"UriIntent构造函数中提供。android.provider.MediaStore.Video.Media.EXTERNAL_CONTENT_URI应该已经对视频进行了限定,这是集合的错误 MIME 类型。

或者,android.provider.MediaStore.Video.Media.CONTENT_TYPE用作 MIME 类型,它不是"video/*".

捕捉这个异常

使用try/catch块,就像在 Java 中捕获任何异常一样。ActivityNotFoundException是一个RuntimeException

或用条件语句避免它

使用PackageManagerandqueryIntentActivities()resolveActivity()

于 2012-11-19T20:08:35.537 回答