我正在学习 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它会导致任何安全异常吗?
我不知道这些问题是否有意义,但这让我想知道自定义权限在实际场景中是如何工作的。
谢谢你。