android - 试图从三星的图库中挑选图像

标签 android image android-intent gallery

我想为用户提供选择多张图片的选项。这是我的代码,目的是让用户选择想要的图库并从那里选择图片:

 public void pickImages() {

        Intent intent = new Intent( Intent.ACTION_PICK,
                android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
        intent.setType("image/*");
        intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);

        startActivityForResult(Intent.createChooser(intent,"Select Picture"), PICK_IMAGE_MULTIPLE);
    }

当我点击 pickImages 按钮时,我可以在默认图库之间进行选择,例如在本例中 - Samsung 或 Google 相册等...

当我选择 Google Photos 画廊时,我可以选择照片,但在同一设备(三星 Galaxy S6 Edge)上,我选择三星的画廊后,我连一张照片都无法选择,只是它们的显示,无论我点击照片多长时间,它都不会改变。

当我从他们的启动器进入三星的画廊时,显示不同,我可以长按以选择图像。

我也查看了小米的默认图库,确实有效,我可以选择照片。

如何更改它并打开正确的图库显示?

最佳答案

This is my code in order to let the user choose the wanted gallery and pick images from there

首先,该代码中没有任何内容与“画廊”有很大关系。任意数量的应用程序都可以响应该 Intent 结构,并且这些应用程序不必是“图库”。

其次,ACTION_PICK 不应指定 MIME 类型。参见 the documentation .

第三,ACTION_PICK不支持EXTRA_ALLOW_MULTIPLE。参见 the documentation .

after I choose Samsung's gallery, I can't pick even one photo, it's just a display of them, no matter how long I click on a photo, it doesn't change

首先,没有要求所有应用都支持长按内容。

其次,长按模式通常只与多选情况相关,ACTION_PICK 不支持多选。

但是,您完全有可能在三星的应用程序中看到真正的错误。

How can I change it

那么,您可以清理您正在使用的 ACTION_PICK Intent(删除 setType()putExtra() 调用)并查看是否有任何改变。

或者,您可以切换到 ACTION_GET_CONTENT,它确实使用了 setType() 并且确实有潜力支持 EXTRA_ALLOW_MULTIPLE。不要求任何 ACTION_GET_CONTENT 实现都支持 EXTRA_ALLOW_MULTIPLE,并且您不会使用 Uri(MediaStore.Images.Media.EXTERNAL_CONTENT_URI )。

或者,向三星投诉他们应用中的错误。

open the right gallery display?

没有“右画廊显示”。处理特定隐式Intent(ACTION_PICKACTION_GET_CONTENT)的是用户,其次是设备制造商。你没有投票权。

您始终可以构建自己的画廊风格图像选择 UI。这将为您提供跨设备的一致结果,但会增加工作量。

关于android - 试图从三星的图库中挑选图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46016971/

相关文章:

java - 即使用户不再触摸按钮,是否可以延长 Android 上的按钮触摸效果?

Python Mechanize 以跟踪图像链接?

java - 向图像添加 Intent 以链接到另一个页面

android - 使用自定义 Google Now 命令启动 Android 应用程序

android - 为什么 android intent 第一次不起作用?

android - 如何在 Android 中实例化 L2Cap 套接字?

android - 设置显式注释处理器

java - 如何使图像变形?

javascript - 我正在尝试使用 JavaScript 随机化 HTML 页面上的图像

android - 如何在 viewModel 中使用双向绑定(bind)