这是我们的视频选择器代码,几乎是标准代码。此代码在Nougat之前在Android版本中运行,但是,它在nougat中引发了一个例外。
private void pickVideoFromGallery(Activity activity){
Intent intent = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Video.Media.EXTERNAL_CONTENT_URI);
intent.setType("video/*");
intent.addCategory(Intent.CATEGORY_OPENABLE);
activity.startActivityForResult(intent, MediaPicker.TYPE_FILEVIDEO);
}
例外是
android.content.ActivityNotFoundException: No Activity found to handle
Intent { act=android.intent.action.PICK cat=[android.intent.category.OPENABLE]
typ=video/* launchParam=MultiScreenLaunchParams { mDisplayId=0 mFlags=0 } }
但是,如果我取消注释后续行,它会开始工作,但这不是解决方案,因为我们只想选择可打开的视频
intent.addCategory(Intent.CATEGORY_OPENABLE);
有什么想法吗?
答案 0 :(得分:0)
使用视频启动默认文件选择器。
Intent intent = new Intent();
intent.setType("video/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent, 1);
答案 1 :(得分:0)
div.red-border {
border: solid 1px red;
}