android - Intent.EXTRA_ALLOW_MULTIPLE 在 android 中测试 Oppo(操作系统版本 7.1.1)时无法与 Intent.ACTION_PICK 一起使用

标签 android

我正在尝试在我的 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。具体来说:

因此,您不应假定任何 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_PICKACTION_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/

相关文章:

java - 即使具有 ArrayList 中的值,带有 TextView 的动态 TableLayout 也是空的

android - (Dis-) 在 Android Studio 项目中拥有多个模块的优势?

java - 拼写检查框架可以用于代码提示吗?

android - 在 Android Jelly Bean 中播放 flash 文件

android - 从操作栏菜单项获取 View

Android 从媒体播放器中删除快进和倒带按钮

android - 在表中显示来自 SharedPreferences 的字符串

android - 设计 Android UI 的最佳方式?

Android Activity 生命周期和 jni 内存管理

android - 为 Android 禁用 firebase crashlytics