【问题标题】:Can we get dangerous permissions without asking for it in Android?我们可以在 Android 中不要求就获得危险的权限吗?
【发布时间】:2019-05-06 20:50:27
【问题描述】:

我的理解是,我们不能在不请求权限的情况下使用 Android 的危险功能。但是我遇到了这个应用程序,它是一个相机应用程序。我已经将它安装在 android Marshmallow 以上的 3 台设备上,但它从未要求在任何这些设备上使用相机权限,但它的相机仍然可以工作。 有人可以解释一下这怎么可能?谢谢!

申请链接:https://play.google.com/store/apps/details?id=com.jb.zcamera

【问题讨论】:

    标签: android permissions runtime-permissions dangerous-permissions


    【解决方案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,非常感谢您的帮助 :)
    猜你喜欢
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    • 1970-01-01
    • 2016-08-24
    • 2017-12-29
    • 1970-01-01
    相关资源
    最近更新 更多