我是Android开发的新手,我一直在使用< uses-permission
>在我以前的一些应用程序中标记。但是,我仍然对标签实际如何工作一无所知。我知道标签确保Android签署“合同”,以便只有标签中键值对的组件部分包含在应用程序中。我的具体问题是:
Q值。 < uses-permission
>的键值属性如何?标签是否包含Android所需的“信息”,以限制应用程序包含标记键值对中未提及的功能?
我的互联网搜索没有给我我正在寻找的答案,任何方向都会非常感激。
答案 0 :(得分:1)
该标记中列出的权限将在安装时显示给用户。因此,用户被迫明确授予这些权限(通过终止安装)。
答案 1 :(得分:1)
A permission is a restriction limiting access to a part of the code or to data on the device. The limitation is imposed to protect critical data and code that could be misused to distort or damage the user experience.
请求必须授予应用程序以使其正常运行的权限。用户在安装应用程序时授予权限,而不是在应用程序运行时授予权限。
有关详细信息,请参阅uses-permission
答案 2 :(得分:1)
official docs解释它的工作原理:
要在设备上使用受保护的API,应用程序必须 定义其清单中所需的功能。准备时 安装一个应用程序,系统会向用户显示一个对话框 表示请求的权限,并询问是否继续 安装。如果用户继续安装,则为系统 接受用户已授予所有请求的权限。 用户无法授予或拒绝个人权限 以块的形式授予或拒绝所有请求的权限。
授予后,权限将应用于应用程序 因为它已安装。为避免用户混淆,系统不会 再次通知用户授予应用程序的权限, 和核心操作系统中包含的应用程序 由OEM捆绑的请求不会请求用户的权限。 如果卸载了某个应用程序,则会删除权限,因此a 随后的重新安装将再次导致显示 权限。
如果应用程序尝试使用受保护的功能 尚未在申请表中声明的, 权限失败通常会导致安全异常 扔回应用程序。受保护的API权限检查是 在尽可能低的水平上执行,以防止规避。