访问Android 1.5 +上的视频和照片
-
16-09-2019 - |
题
因此,我试图允许用户使用此处描述的方法使用我的Android应用程序选择特定的媒体:在我的Android应用中访问图片应用程序
它效果很好,除了我似乎只能在视频或照片之间进行选择以呈现用户,而不是同时介绍用户。有没有一个很好的方法来做到这一点:
startActivityForresult(new Intent(Intent.action_pick,android.provider.mediastore.images.media.internal_content_uri),select_image);
谢谢!
解决方案
我已经使用过几次了。最好的方法是:
Intent mediaChooser = new Intent(Intent.ACTION_GET_CONTENT);
//comma-separated MIME types
mediaChooser.setType("video/*, images/*");
startActivityForResult(mediaChooser, 1);
即使这不是完全准确的,它在我使用的所有内容中都可以正常运行。它将打开画廊式的活动,其中包含用户画廊中每个图片/视频的缩略图列表。返回的意图 onActivityResult()
有一个额外的称为“数据”,它将是所选媒体的内容:// URI。
编辑:糟糕,要将URI获取到您实际想致电的选定媒体 getData() 关于传递给OnActivityResult()的意图
其他提示
Kivy-最简单的方法是创建一个选择媒体并将其限制为视频的意图:
Intent pickMedia = new Intent(Intent.ACTION_GET_CONTENT);
pickMedia.setType("video/*");
startActivityForResult(pickMedia,12345);
注意-12345是您的应用程序需要在请求回调上收听的整数,以便您可以在需要的任何地方发送收到的任何信息。
然后,您还需要进行相同的活动,以聆听从该意图中发送回的信息:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 12345) {
if (resultCode == Activity.RESULT_OK) {
Uri selectedVideoLocation = data.getData();
// Do something with the data...
}
}
}
凉爽的?
intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 1);
尝试这个
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
startActivityForResult(intent, 101);
不隶属于 StackOverflow