我正在学习 Android 编程,我有点理解自定义权限的概念。
根据我的理解,这是自定义权限的工作方式:
'Base app'
可以通过声明自定义权限(即使用<permission>
清单文件中的标签)来保护它的某些组件(例如,活动和服务),并且'client app'
调用受自定义权限保护的活动和服务需要获取必要的权限(即,在清单文件中使用<uses-permission>
标签)清单文件)来调用base app
.
但是,我对自定义权限有以下疑问:
- 如果自定义权限被声明为危险(即,
android:protectionLevel="dangerous"
),是否client app
需要在安装期间获得用户的批准?如果是这样,用户如何知道这些自定义权限,因为自定义权限没有任何文档。 - 在安装时如何
client app
知道base app
已经安装在用户手机中的?无论如何,有client app
没有知道这些信息? - 安装后,
client app
如果用户决定删除 会发生什么base app
?在这种情况下,如果用户尝试使用client app
它会导致任何安全异常吗?
我不知道这些问题是否有意义,但这让我想知道自定义权限在实际场景中是如何工作的。
谢谢你。