安卓图片选择器:从图库中选择多张图片,最多可选5张。

15

我的应用程序需要用户选择多张图片并将它们发送到某个地方。但是他们一次只能发送五张图片。我需要限制他们从图库中通过Image Picker选择的图片数量。

简单来说:我想限制用户在默认图库中选择的图片数量

以下是我正在使用的图像选择器代码:

Intent chooseIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
chooseIntent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
startActivityForResult(chooseIntent, 2);

默认情况下,它已经跟踪了顶部选择的图像数量:

是否有一种方法设置最大限制?例如,让用户只能选择最多5张图片。


我刚刚对不同设备进行了一些测试,遗憾的是它不兼容三星S7设备,但它可以在谷歌Nexus 6P上运行。这意味着,此代码只能在少数设备上运行。 - jhaypee
1个回答

19
默认情况下,它已经跟踪了在顶部选择的图像数量:
在特定的设备上,也许是这样。请理解,有成千上万种 Android 设备型号,制造商设置自己的 UI 来替换股票应用程序的 UI。不要假设所有设备都会在操作栏中显示计数。
有没有办法设置最大限制?比如让用户只能选择最多 5 张图片。
不能通过 ACTION_PICK 实现。ACTION_PICK 在文档中根本不支持 EXTRA_ALLOW_MULTIPLE,因此可能有些设备不允许为该 Intent 进行多重选择。即使在 EXTRA_ALLOW_MULTIPLE 是协议的一部分的 Intent 操作(例如 ACTION_GET_CONTENT)上,也没有控制最大计数的额外参数。
你可以根据查询MediaStore的结果创建自己的图像选择UI,并建立自己的限制。也有几个图像选择库,其中一个可能已经提供了此功能。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接