从图库中获取图像-无需任何许可即可获取
Fetching images from gallery- able to fetch without any permission
使用下面的代码从图库中获取图片
val intent = Intent()
intent.action = Intent.ACTION_PICK
intent.type = "image/*"
if (multiImageAllowed) intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true)
context.startActivityForResult(intent, PICK_IMAGE_GALLERY)
当我使用此 Intent 时,它会向我显示多个应用程序的选择器,我 select 其中一个应用程序并获取图像,并将其显示在我的应用程序中,(我在 onActivityResult 中获取图像),这些应用程序有自己的运行时权限检查。
我是否也需要在我的应用程序中添加图库权限检查?
如果需要,那么为什么 android 不阻止我或给出例外。
当 he/she 故意打开应用程序添加图片时,征求用户许可只是一个很好的惯例吗?
所以我的问题是,我是否也应该在我的应用程序中添加运行时权限还是不需要。(因为这些应用程序无论如何都在处理它,而且我无法访问比那个更多的图像 he/she selects)
using below code to fetch images from gallery
如果您希望用户根据 MIME 类型选择内容,请使用 ACTION_GET_CONTENT
或 ACTION_OPEN_DOCUMENT
。 ACTION_PICK
是让用户根据特定集合选择内容,由 Intent
中的 Uri
标识。这就是为什么 the ACTION_PICK
documentation 提到输入是 Uri
而没有提到任何关于 MIME 类型的原因。
Do i need to add gallery permission check in my app too ?
我猜你指的是 READ_EXTERNAL_STORAGE
。理论上,由 ACTION_PICK
、ACTION_GET_CONTENT
或 ACTION_OPEN_DOCUMENT
返回的 Uri
应该可以在没有额外权限的情况下使用,至少 for a short time.
然而,并不是每个人都遵守规则,所以恕我直言,持有 READ_EXTERNAL_STORAGE
是最安全的。如果您担心向您的用户请求该权限,您可以尝试延迟它 — 尝试使用 Uri
,如果您获得 SecurityException
,则请求运行时权限。如果用户授予该权限,则再次尝试使用 Uri
。就个人而言,我的目标是提高可靠性,并会首先请求 READ_EXTERNAL_STORAGE
。
使用下面的代码从图库中获取图片
val intent = Intent()
intent.action = Intent.ACTION_PICK
intent.type = "image/*"
if (multiImageAllowed) intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true)
context.startActivityForResult(intent, PICK_IMAGE_GALLERY)
当我使用此 Intent 时,它会向我显示多个应用程序的选择器,我 select 其中一个应用程序并获取图像,并将其显示在我的应用程序中,(我在 onActivityResult 中获取图像),这些应用程序有自己的运行时权限检查。 我是否也需要在我的应用程序中添加图库权限检查? 如果需要,那么为什么 android 不阻止我或给出例外。 当 he/she 故意打开应用程序添加图片时,征求用户许可只是一个很好的惯例吗?
所以我的问题是,我是否也应该在我的应用程序中添加运行时权限还是不需要。(因为这些应用程序无论如何都在处理它,而且我无法访问比那个更多的图像 he/she selects)
using below code to fetch images from gallery
如果您希望用户根据 MIME 类型选择内容,请使用 ACTION_GET_CONTENT
或 ACTION_OPEN_DOCUMENT
。 ACTION_PICK
是让用户根据特定集合选择内容,由 Intent
中的 Uri
标识。这就是为什么 the ACTION_PICK
documentation 提到输入是 Uri
而没有提到任何关于 MIME 类型的原因。
Do i need to add gallery permission check in my app too ?
我猜你指的是 READ_EXTERNAL_STORAGE
。理论上,由 ACTION_PICK
、ACTION_GET_CONTENT
或 ACTION_OPEN_DOCUMENT
返回的 Uri
应该可以在没有额外权限的情况下使用,至少 for a short time.
然而,并不是每个人都遵守规则,所以恕我直言,持有 READ_EXTERNAL_STORAGE
是最安全的。如果您担心向您的用户请求该权限,您可以尝试延迟它 — 尝试使用 Uri
,如果您获得 SecurityException
,则请求运行时权限。如果用户授予该权限,则再次尝试使用 Uri
。就个人而言,我的目标是提高可靠性,并会首先请求 READ_EXTERNAL_STORAGE
。