关于Android权限和签名保护级别

我是Android新手,并且在AndroidManifest.xml中有关于权限保护级别“签名”的问题。

Android参考文档陈述了“签名”保护级别:

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

这意味着具有保护级别“签名”的权限不能用于普通应用程序,并且只能用于Android Dev Team。

我想知道的是,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权限。

请帮助我,并清除我的疑惑。

问候

阿布舍克


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

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

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


Facebook家用这个,

一旦你安装了它,你会注意到它没有请求任何权限,但明确要求安装Facebook应用程序,这样系统就可以通过代理Facebook应用程序授予它必要的权限。

通常情况下,Facebook应用程序会为其他应用程序读取您的状态和新闻馈送提供广告工具,通常这些应用程序需要明确请求使用这些应用程序的权限(如果它们是在不同的证书或私钥下签名的)。

链接地址: http://www.djcxy.com/p/85329.html

上一篇: Regarding Android Permissions and Signature Protection level

下一篇: Generic IEqualityComparer<T> and GetHashCode