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

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

 2010-03-31 05:27:00 来源:WEB开发网   
核心提示:很多时候, 一个许可失败会导致一个SecurityException被抛回该应用程序. 但是Android并不保证这种情况会处处发生,例如,Android 开发指南-框架主题-安全和许可(3),当数据被deliver到每一个receiver的时候,sendBroadcast(Intent) 方法会去检查permissi

很多时候, 一个许可失败会导致一个SecurityException被抛回该应用程序. 但是Android并不保证这种情况会处处发生。例如,当数据被deliver到每一个receiver的时候,sendBroadcast(Intent) 方法会去检查permissions,在这个方法调用返回之后,你也不会收到任何exception。几乎绝大多数情况,一个permission failure都会打印到log当中。

Android系统定义的权限可以在Manifest.permission中找到。任何一个程序都可以定义并强制执行自己独有的 permissions,因此Manifest.permission中定义的permissions并不是一个完整的列表(即有肯能有自定义的 permissions)。

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

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

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

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

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

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

声明和实施许可Declaring and Enforcing Permissions

为了实施你自己的permissions,你必须首先在AndroidManifest.xml文件中声明该permissions.通常我们通过使用一到多个 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>

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

Tags:Android 开发指南 框架

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