试图从三星的图库中挑选图像
Trying To Pick images From Samsung's Gallery
我想为用户提供选择多张图片的选项。这是我的代码,目的是让用户选择想要的画廊并从那里选择图片:
public void pickImages() {
Intent intent = new Intent( Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
startActivityForResult(Intent.createChooser(intent,"Select Picture"), PICK_IMAGE_MULTIPLE);
}
当我单击 pickImages
按钮时,我可以在默认图库之间进行选择,例如在本例中 - 三星,或 Google 照片等...
当我选择Google相册时,我可以选择照片,但在同一设备(三星 Galaxy S6 Edge)上,我选择三星的相册后,我不能'连一张照片都不选,只是展示而已,无论我点击照片多久,它都不会改变。
当我从他们的启动器进入三星的画廊时,显示不同,我可以长按以 select 图片。
我也查看了小米的默认图库,还可以,可以挑照片。
如何更改它并打开正确的图库显示?
This is my code in order to let the user choose the wanted gallery and pick images from there
首先,该代码中没有任何内容与 "gallery" 有很大关系。任意数量的应用程序都可以响应该 Intent
结构,并且这些应用程序不必是 "gallery".
其次,ACTION_PICK
不应指定 MIME 类型。参见 the documentation。
三、ACTION_PICK
不支持EXTRA_ALLOW_MULTIPLE
。参见 the documentation。
after I choose Samsung's gallery, I can't pick even one photo, it's just a display of them, no matter how long I click on a photo, it doesn't change
首先,不要求所有应用都支持长按内容。
其次,长按模式通常只与多选情况相关,ACTION_PICK
不支持多选。
但是,您完全有可能在三星的应用程序中看到真正的错误。
How can I change it
好吧,您可以清理您正在使用的 ACTION_PICK
Intent
(删除 setType()
和 putExtra()
调用)并查看是否有任何改变。
或者,您可以切换到 ACTION_GET_CONTENT
, 使用 setType()
并且 有潜力支持 EXTRA_ALLOW_MULTIPLE
。不要求任何 ACTION_GET_CONTENT
实现支持 EXTRA_ALLOW_MULTIPLE
,并且您不会使用 Uri
(MediaStore.Images.Media.EXTERNAL_CONTENT_URI
).
或者,向三星投诉他们应用程序中的错误。
open the right gallery display?
没有"right gallery display"。处理特定隐式 Intent
(ACTION_PICK
、ACTION_GET_CONTENT
)的是用户,其次是设备制造商。你没有投票。
您始终可以构建自己的画廊风格图像选择 UI。这将为您提供跨设备的一致结果,但工作量更大。
在大多数三星设备上 ACTION_PICK
returning null
存在问题。解决方法是使用 ACTION_GET_CONTENT
到 select 您的图像。
ACTION_GET_CONTENT
会 return 一个 Content URI
你应该 handle appropriately.
理想的情况是执行某种条件检查以确定您使用的是哪个选择器,而不是将自己局限于一种变通方法,希望所有设备都能发挥相同的作用。
我想为用户提供选择多张图片的选项。这是我的代码,目的是让用户选择想要的画廊并从那里选择图片:
public void pickImages() {
Intent intent = new Intent( Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
startActivityForResult(Intent.createChooser(intent,"Select Picture"), PICK_IMAGE_MULTIPLE);
}
当我单击 pickImages
按钮时,我可以在默认图库之间进行选择,例如在本例中 - 三星,或 Google 照片等...
当我选择Google相册时,我可以选择照片,但在同一设备(三星 Galaxy S6 Edge)上,我选择三星的相册后,我不能'连一张照片都不选,只是展示而已,无论我点击照片多久,它都不会改变。
当我从他们的启动器进入三星的画廊时,显示不同,我可以长按以 select 图片。
我也查看了小米的默认图库,还可以,可以挑照片。
如何更改它并打开正确的图库显示?
This is my code in order to let the user choose the wanted gallery and pick images from there
首先,该代码中没有任何内容与 "gallery" 有很大关系。任意数量的应用程序都可以响应该 Intent
结构,并且这些应用程序不必是 "gallery".
其次,ACTION_PICK
不应指定 MIME 类型。参见 the documentation。
三、ACTION_PICK
不支持EXTRA_ALLOW_MULTIPLE
。参见 the documentation。
after I choose Samsung's gallery, I can't pick even one photo, it's just a display of them, no matter how long I click on a photo, it doesn't change
首先,不要求所有应用都支持长按内容。
其次,长按模式通常只与多选情况相关,ACTION_PICK
不支持多选。
但是,您完全有可能在三星的应用程序中看到真正的错误。
How can I change it
好吧,您可以清理您正在使用的 ACTION_PICK
Intent
(删除 setType()
和 putExtra()
调用)并查看是否有任何改变。
或者,您可以切换到 ACTION_GET_CONTENT
, 使用 setType()
并且 有潜力支持 EXTRA_ALLOW_MULTIPLE
。不要求任何 ACTION_GET_CONTENT
实现支持 EXTRA_ALLOW_MULTIPLE
,并且您不会使用 Uri
(MediaStore.Images.Media.EXTERNAL_CONTENT_URI
).
或者,向三星投诉他们应用程序中的错误。
open the right gallery display?
没有"right gallery display"。处理特定隐式 Intent
(ACTION_PICK
、ACTION_GET_CONTENT
)的是用户,其次是设备制造商。你没有投票。
您始终可以构建自己的画廊风格图像选择 UI。这将为您提供跨设备的一致结果,但工作量更大。
在大多数三星设备上 ACTION_PICK
returning null
存在问题。解决方法是使用 ACTION_GET_CONTENT
到 select 您的图像。
ACTION_GET_CONTENT
会 return 一个 Content URI
你应该 handle appropriately.
理想的情况是执行某种条件检查以确定您使用的是哪个选择器,而不是将自己局限于一种变通方法,希望所有设备都能发挥相同的作用。