我正在尝试在我的 Android 应用程序中添加多选图像功能。这就是我正在尝试的方式
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)
然后我可以在所有设备上选择多个图像但问题是这种方法以非常奇怪的方式显示图像并且它不是那么用户友好.
非常感谢任何帮助,谢谢
最佳答案
But when I test it on Oppo F5 with OS version 7.1.1 then it doesnt work.
ACTION_PICK
未记录为支持 EXTRA_ALLOW_MULTIPLE
。具体来说:
The documentation for
ACTION_PICK
没有提及任何支持的附加功能The documentation for
EXTRA_ALLOW_MULTIPLE
仅提及ACTION_GET_CONTENT
和ACTION_OPEN_DOCUMENT
因此,您不应假定任何 ACTION_PICK
Activity 都会对您的 EXTRA_ALLOW_MULTIPLE
extra 做出任何响应。
this method show images in very weird way and its not that much user friendly.
Android 设备型号超过 26,000 种。 ACTION_PICK
和 ACTION_GET_CONTENT
将有数百种不同的预装应用可以处理您的请求。它们中的任何一个如何呈现它们的 UI,以及它们中的任何一个如何对意外的额外 react 使用react,取决于它们的开发人员,而不是你或我。你似乎认为 ACTION_PICK
总是产生一种形式的 UI;这是不正确的。
Any help will be highly apprecited, thanks
或者:
使用
ACTION_PICK
并接受EXTRA_ALLOW_MULTIPLE
可能被忽略的事实,或者使用
ACTION_GET_CONTENT
/ACTION_OPEN_DOCUMENT
,或者直接使用
MediaStore
API 并呈现您自己的图像选择器,或者使用 one of the few dozen libraries实现图像选择器
关于android - Intent.EXTRA_ALLOW_MULTIPLE 在 android 中测试 Oppo(操作系统版本 7.1.1)时无法与 Intent.ACTION_PICK 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67367649/