我正在学习Android编程,并且已经有点理解自定义权限的概念。
根据我的理解,自定义权限是这样工作的:
“基本应用”
可以通过声明自定义权限(即在清单文件中使用<permission>
标签)来保护其某些组件(例如活动和服务),而调用受自定义权限保护的活动和服务的“客户端应用”
需要获取必要的权限(即在清单文件中使用<uses-permission>
标签)来调用基本应用
中的这些组件。
但是,关于自定义权限,我有以下问题:
- 如果将自定义权限声明为危险的(即
android:protectionLevel="dangerous"
),客户端应用
是否需要在安装时得到用户的批准? 如果是这样,用户如何知道这些自定义权限,因为没有任何针对自定义权限的文档。 - 在安装时,
客户端应用
如何知道基本应用
已在用户的手机上安装?是否有方法让客户端应用
了解此信息? - 一旦安装了
客户端应用
,如果用户决定删除基本应用
,会发生什么情况? 在这种情况下,如果用户尝试使用客户端应用
,是否会引发任何安全异常?
我不知道这些问题是否有意义,但它让我想知道自定义权限在实际情况中是如何工作的。
谢谢。