我们可以在 Android 中不要求就获得危险的权限吗?
Posted
技术标签:
【中文标题】我们可以在 Android 中不要求就获得危险的权限吗?【英文标题】:Can we get dangerous permissions without asking for it in Android? 【发布时间】:2019-05-06 20:50:27 【问题描述】:我的理解是,我们不能在不请求权限的情况下使用 android 的危险功能。但是我遇到了这个应用程序,它是一个相机应用程序。我已经将它安装在 android Marshmallow 以上的 3 台设备上,但它从未要求在任何这些设备上使用相机权限,但它的相机仍然可以工作。 有人可以解释一下这怎么可能?谢谢!
申请链接:https://play.google.com/store/apps/details?id=com.jb.zcamera
【问题讨论】:
【参考方案1】:解决它的唯一方法是使用 22 或更低版本的目标 SDK。在这种情况下,将在安装时请求权限。 Note,您将无法通过目标 SDK 低于 26 的 Play 商店分发您的应用。
If the device 运行 Android 5.1(API 级别 22)或更低,或应用的 targetSdkVersion 为 22 或更低,系统在安装时要求用户授予权限。
相机权限是dangerous permission。
Check for permissions
如果您的应用需要危险权限,您必须在每次执行需要该权限的操作时检查您是否拥有该权限。从 Android 6.0(API 级别 23)开始,用户可以随时撤消任何应用的权限,即使该应用的目标 API 级别较低。因此,即使该应用昨天使用了相机,也不能假设它今天仍然拥有该权限。
您引用的应用程序要求运行时权限。
This answer 讨论了可能滥用 Android 权限的情况。这需要向 Google 报告。
【讨论】:
我认为第一句话有点令人困惑/误导。也许删除它 @TimCastelijns 你现在怎么看? 请注意,如果 targetSdk 低于 26,您将无法通过 Play 商店分发您的应用 @TimCastelijns 是的,我要添加这个应用,看起来它是 2018 年制作的。所以它不能是低目标 sdk【参考方案2】:如果未授予危险权限,则不会使用相机。但是,它仍然可以通过将使用Intent
拍照的过程委托给另一个相机应用程序来为您拍照。
见Take Photos
【讨论】:
非常感谢您抽出宝贵时间回复。但据我了解,该应用程序正在使用自定义相机活动。它还安装了一个图库应用(它也从不要求任何权限)。 @AimanMuzafar 不能多说。这些是技术限制。另一种方法是系统应用程序。 感谢 Murat Karagoz,非常感谢您的帮助 :)以上是关于我们可以在 Android 中不要求就获得危险的权限吗?的主要内容,如果未能解决你的问题,请参考以下文章