我正在尝试在我的 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)
Run Code Online (Sandbox Code Playgroud)
在操作系统版本 9、10 的模拟器中,它工作得很好。但是当我在操作系统版本 7.1.1 的 Oppo F5 上测试它时,它不起作用。
但如果我添加gallery.setAction(Intent.ACTION_GET_CONTENT)
,那么我可以在所有设备上选择多个图像,但问题是这种方法以非常奇怪的方式显示图像,而且对用户不太友好。
任何帮助将不胜感激,谢谢
但是当我在操作系统版本 7.1.1 的 Oppo F5 上测试它时,它不起作用。
ACTION_PICK
没有文档支持EXTRA_ALLOW_MULTIPLE
。具体来说:
的文档ACTION_PICK
未提及任何支持的附加功能
EXTRA_ALLOW_MULTIPLE
仅提及ACTION_GET_CONTENT
和的文档ACTION_OPEN_DOCUMENT
因此,您不应该假设任何ACTION_PICK
活动都会对您的额外费用做出任何反应EXTRA_ALLOW_MULTIPLE
。
这种方法以非常奇怪的方式显示图像,而且对用户不太友好。
Android 设备型号超过 26,000 种。将有数百种不同的预装应用程序ACTION_PICK
可以满足ACTION_GET_CONTENT
您的请求。他们中的任何一个如何呈现他们的 UI,以及他们中的任何一个如何对意外的额外内容做出反应,都取决于他们的开发人员,而不是你或我。你似乎认为这ACTION_PICK
总是会产生一种形式的 UI; 这是不正确的。
任何帮助将不胜感激,谢谢
任何一个:
使用ACTION_PICK
并接受可能被忽视的事实EXTRA_ALLOW_MULTIPLE
,或者
使用ACTION_GET_CONTENT
/ ACTION_OPEN_DOCUMENT
,或
直接使用MediaStore
API 并渲染您自己的图像选择器,或者
使用实现图像选择器的几十个库之一
归档时间: |
|
查看次数: |
1871 次 |
最近记录: |