关于Android中的自定义权限的很少问题

我正在学习Android编程,我有一种了解自定义权限的概念。

基于我的理解,这是自定义权限的工作原理:

“基础应用程序”可以通过声明自定义权限(例如,使用清单文件中的< permission>>标签)和“客户应用程序”来保护其部分组件(例如活动和服务),并调用受定制保护的活动和服务权限需要获取必要的权限(即使用清单文件中的< uses-permission>标签)来调用基础应用程序中的这些组件。

但是,我有关于自定义权限的这些问题:

>如果自定义权限被声明为危险(即android:protectLevel =“危险”),客户端应用程序是否需要在安装期间获得用户的批准?如果是这样,用户如何知道这些自定义权限,因为不会有自定义权限的任何文档。
>在安装期间,客户端应用程序如何知道基本应用程序已经安装在用户手机中?有没有客户端应用程序知道这些信息?
>安装客户端应用程序后,如果用户决定删除基础应用程序,会发生什么?在这种情况下,如果用户尝试使用客户端应用程序会导致任何安全异常?

我不知道这些问题是否有意义,但让我想知道自定义权限如何在实际情况下实际工作。

谢谢。

下面给出你的问题的答案。但是您可以参考http://developer.android.com/guide/topics/manifest/permission-element.html了解Android权限。

是的,如果你声明

android:protectionLevel="dangerous"

则系统可能不会自动将其授予请求应用程序。应用程序请求的任何危险许可可能会显示给用户,并在继续操作之前要求确认。

定义自定义权限的基础应用程序应该通过提供描述

android:description="string resource"

这是一个权限定义的例子。希望这是自我解释。

<permission android:description="string resource"
android:icon="drawable resource"
android:label="string resource"
android:name="string"
android:permissionGroup="string"
android:protectionLevel=["normal" | "dangerous" | 
 "signature" | "signatureOrSystem"] />

据我所知,客户端应用程序无法在安装时看到基础应用程序的存在。但是当客户端应用程序启动时,这是可能的。无论如何,Android系统根据您的android.xml文件授予权限。所以客户端应用程序在安装时不用担心基础应用程序。

3.即使安装了客户端应用程序,也可以删除基础应用程序。它不会在任何阶段通过任何错误消息或安全异常。但是,当您再次尝试运行客户端应用程序时,您可能会在客户端应用程序尝试调用基本应用程序活动时获得“未找到活动”异常。

http://stackoverflow.com/questions/17078369/few-questions-about-custom-permissions-in-android

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:关于Android中的自定义权限的很少问题