WEB开发网
开发学院手机开发Android 开发 Android开发指南 框架主题 安全和许可 阅读

Android开发指南 框架主题 安全和许可

 2010-06-17 03:18:00 来源:WEB开发网   
核心提示:一个特定的许可可能会在你的程序操作过程中的很多地方都被实施:* 当系统有来电的时候,用以阻止程序执行其它功能,Android开发指南 框架主题 安全和许可(3),* 当启动一个活动(activity)的时候,会阻止应用程序启动其它应用程序的Acitivity,我们通常用两句话来描述许可,第一句描述该许可,* 在发送和接

一个特定的许可可能会在你的程序操作过程中的很多地方都被实施:

* 当系统有来电的时候,用以阻止程序执行其它功能。

* 当启动一个活动(activity)的时候,会阻止应用程序启动其它应用程序的Acitivity。

* 在发送和接收广播的时候,去控制谁可以接收你的广播或谁可以发送广播给你。

* 当进入并操作一个内容提供器(content provider)的时候

* 当绑定或起动一个服务(service)的时候

声明和实施许可Declaring and Enforcing Permissions

为了实施你自己的permissions,你必须首先在AndroidManifest.xml文件中声明该permissions.通常我们通过使用一到多个< permission > tag来进行声明。

例如,一个应用程序想要控制谁能启动它的活动,可以为该操作声明许可如下:

< manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="com.me.app.myapp" >

< permission android:name="com.me.app.myapp.permission.DEADLY_ACTIVITY"

android:label="@string/permlab_deadlyActivity"

android:description="@string/permdesc_deadlyActivity"

android:permissionGroup="android.permission-group.COST_MONEY"

android:protectionLevel="dangerous" / >

< /manifest >

这里< protectionLevel >属性是必需的,通过声明该属性,我们就可以告知系统如何去通知用户哪些应用程序需要这个许可,或者谁可以拥有该许可。具体请参看链接的文档。

< permissionGroup >属性是可选的,只是用于帮助系统显示许可permission 给用户(实际是告知系统该许可是属于哪个许可组permission group的)。你通常会选择使用标准的system group来设定该属性,或者更为少见的用你自己定义的group。推荐使用一个已经存在的group,因为这样UI给用户显示许可的时候会更简单。

需要注意的是标签(label)和描述(description)都是需要为许可提供的。这些都是字符串资源,当用户去看许可列表(android:label)或者某个许可的详细信息 (android:description)时,这些字符串资源就可以显示给用户。label应当尽量简短,之需要告知用户该许可是在保护什么功能就行。而description可以用于具体描述获取该许可的程序可以做哪些事情,实际上让用户可以知道如果他们同意程序获取该权限的话,该程序可以做什么。我们通常用两句话来描述许可,第一句描述该许可,第二句警告用户如果批准该权限会可能有什么不好的事情发生。下面是一个描述CALL_PHONE

上一页  1 2 3 4 5 6  下一页

Tags:Android 开发指南 框架

编辑录入:coldstar [复制链接] [打 印]
赞助商链接