【问题标题】:Regarding Android Permissions and Signature Protection level关于 Android 权限和签名保护级别
【发布时间】:2010-06-28 04:04:27
【问题描述】:

我是 Android 新手,对 AndroidManifest.xml 中权限的保护级别“签名”有疑问。

Android 参考文档说明了“签名”保护级别:

系统仅在请求应用程序时授予的权限 使用与声明的应用程序相同的证书进行签名 许可。如果证书匹配,系统自动 授予权限而不通知用户或请求 用户的明确批准。

这意味着具有“签名”保护级别的权限不能被普通应用程序使用,只能由 Android 开发团队使用。

我想知道的是,Android Market 或其他网站上有多少应用程序可以拥有这些权限?就像用于记录通话的应用程序一样,除了其他权限外,它还具有 android.permission.DEVICE_POWER。 Android系统真的在安装的时候给这个应用这个权限吗?

当我尝试使用权限“READ_INPUT_STATE”(2.2 中的新功能)时,我在 LogCat 中收到以下错误:

06-28 09:28:34.943: WARN/PackageManager(60): 未授予 android.permission.READ_INPUT_STATE 对包 com.example.wheredoyoulive 的权限(protectionLevel=2 flags=0x8444)

保护级别为“SignatureOrSystem”的权限也是如此。存在一个调用者应用程序,除了其他权限外,还具有 CALL_PRIVILEGED 权限。

请帮助我并消除我的疑虑。

问候

阿布舍克

【问题讨论】:

    标签: android permissions


    【解决方案1】:

    我相信“签名”权限级别的目的是让同一开发人员的两个应用程序能够无缝共享数据而不会打扰用户。 READ_INPUT_STATE 权限不适用于应用程序:

    允许应用程序检索键和开关的当前状态。 仅供系统使用。

    http://developer.android.com/reference/android/Manifest.permission.html#READ_INPUT_STATE

    【讨论】:

    • 感谢您的回复。在您提到的情况下,开发人员必须创建一个新的自定义权限才能充分利用保护级别为我的应用程序提供的功能。我向示例应用程序授予“READ_INPUT_STATE”权限只是为了检查如果我授予签名级别权​​限会发生什么。
    • 我对“签名”保护级别有一些疑问。通过上面的讨论,我们是否可以得出结论,没有第三方应用程序将被授予保护级别“签名”或“签名或系统”的权限?我最初的问题是:“我想知道的是,Android Market 或其他网站上有多少应用程序可以拥有这些权限?就像用于记录通话的应用程序除了其他权限外还有 android.permission.DEVICE_POWER。是Android 系统真的在安装时授予此应用程序的权限吗?”
    • 你能给我指出一个具有DEVICE_POWER 权限的应用程序吗?据此,没有(非系统)应用程序可以使用该权限:stackoverflow.com/questions/733721/…
    • 抱歉延迟回复。该应用程序的名称是 CallRecorder v2.8.0。虽然我没有这个应用程序,但我在androlib.com/… 看到了这个应用程序和它的权限。
    • 请注意,这个问题是在学习Android系统时提出的,目的是为了解开对Android权限机制的疑惑。与CALL RECORDER的应用开发者或网站托管的所有者无关应用程序。
    【解决方案2】:

    Facebook 主页使用这个,

    一旦您安装它,您会注意到它不请求任何权限,而是明确要求安装 facebook 应用程序,以便系统可以通过 Facebook 应用程序的代理授予它必要的权限。

    通常情况下,Facebook 应用程序具有广告功能,其他应用程序可以读取您的状态和新闻提要,如果这些应用程序使用不同的证书或更确切地说是私钥签名,通常需要明确请求使用它们的权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-30
      • 2014-02-21
      • 1970-01-01
      相关资源
      最近更新 更多