当我在Oppo上测试时,Intent.EXTRA_ALLOW_MULTIPLE不能与Intent.ACTION_PICK一起工作(操作系统版本为7.1.1),在android中。

3 人关注

我正试图在我的安卓应用程序中添加多选图像功能。我是这样做的

val gallery = Intent( Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI )
gallery.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
startActivityForResult(gallery, ACTION_REQUEST_GALLERY)

在操作系统为9、10版本的模拟器中,它工作得非常好。但当我在操作系统版本为7.1.1的Oppo F5上测试时,它就不工作了。

但如果我添加gallery.setAction(Intent.ACTION_GET_CONTENT),那么我就可以在所有设备上选择多张图片,但问题是,这种方法以非常奇怪的方式显示图片,对用户并不友好。

任何帮助都将得到高度赞赏,谢谢

1 个评论
请看这里,虽然下面的答案对这个问题是正确的。 stackoverflow.com/a/70828005/3904109
android
Zohab Ali
Zohab Ali
发布于 2021-05-03
1 个回答
CommonsWare
CommonsWare
发布于 2021-05-03
已采纳
0 人赞同

But when I test it on Oppo F5 with OS version 7.1.1 then it doesnt work.

ACTION_PICK 没有支持 EXTRA_ALLOW_MULTIPLE 的记录。具体而言。

  • 关于 ACTION_PICK 的文件 没有提到任何支持的额外费用

  • 关于 EXTRA_ALLOW_MULTIPLE 的文件 only mentions ACTION_GET_CONTENT and ACTION_OPEN_DOCUMENT

    因此,你不应该认为任何 ACTION_PICK 的活动都会对你的 EXTRA_ALLOW_MULTIPLE 做任何回应。

    这种方法以非常奇怪的方式显示图像,而且对用户不那么友好。

    有超过26,000种安卓设备型号。将有数百个不同的预装 ACTION_PICK ACTION_GET_CONTENT 的应用程序可能处理你的请求。它们中的任何一个如何呈现它们的用户界面,以及它们中的任何一个如何对意外的额外情况作出反应,都取决于它们的开发者,而不是你或我。

    任何帮助都将得到高度赞赏,谢谢

    Either:

  • 使用 ACTION_PICK 并接受 EXTRA_ALLOW_MULTIPLE 可能被忽略的事实,或

  • Use ACTION_GET_CONTENT / ACTION_OPEN_DOCUMENT , or

  •