我正在尝试使用Android 6.0在Nexus 7上打开图库。它没有内置图库,但它确实有 Google相册应用。
我使用以下代码打开图库:
Intent i = new intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
// Always show the chooser (if there are multiple options available)
startActivityForResult(Intent.createChooser(i, "Select Picture"), PICK_IMAGE_REQUEST);
以上代码适用于6.0以下的所有版本。请注意,我已经使用RUN TIME PERMISSIONS访问图库并已获得访问图库/或外部存储的权限。
现在执行代码时,我会看到一个标题为“选择图片”的透明屏幕,中间是一个文本没有应用可以执行此操作。
现在我该如何选择图像并在我的应用中使用。
感谢任何帮助。
由于
答案 0 :(得分:1)
我使用以下代码打开图库
该代码与" gallery"无关。该代码要求从特定内容集合中挑选一段内容。设备上可能有零个,一个或多个活动,以支持Intent
结构。
以上代码适用于6.0以下的所有版本
仅适用于碰巧有一个或多个活动满足Intent
结构的设备。
现在我该如何选择图像并在我的应用中使用。
Intent i = new intent(Intent.ACTION_GET_CONTENT).setType("image/*");
// use PackageManager to see if there is anything that supports this
// Intent structure, or just blindly make the following call and handle
// the ActivityNotFoundException
startActivityForResult(i, PICK_IMAGE_REQUEST);
我正在使用此代码,因此只会打开图库,而不是选择图像的任何其他选项
您的代码中没有任何内容可以将其限制为只有一个"画廊"。
答案 1 :(得分:0)
不允许发表评论,因为我没有足够的积分。但这只是一个建议,如果你直接通过意图怎么样?像这样:
startActivityForResult(i, PICK_IMAGE_REQUEST);
答案 2 :(得分:0)
使用这行代码而不是你已完成的代码
Intent i = new intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, PICK_IMAGE_REQUEST);