自定义权限
- 1.定义应用程序安全访问级别的权限(其他程序或组件若要访问该程序必须先获得该权限)
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.example.wendy.pieview"
xmlns:android="http://schemas.android.com/apk/res/android">
<permission
android:description="string resource"//权限描述。是用户可读的,它稍稍有点不同于
label属性。label属性可以直接赋值为字符串,而
description必须指定定义在string资源文件中的字符串
android:icon="drawable resource"
android:label="string resource"
android:name="string"//权限的名称。这个非常重要!因为其它程序或组建若要获取该权限,必须通过
权限的名称来指定
<!--设置权限的安全级别-->
android:protectionLevel=["normal" |//不弹出对话框由系统直接授权
"dangerous" |//弹出对话框由用户授权
"signature" |//规定系统当应用程序所用数字签名与声明此权限的应用程序所有数字签名相同时,才能将权限授给它
"signatureOrSystem"] />//规定系统将权限授给具有相同数字签名的应用程序或Android包类,这一级别适用于非常特殊的情况,比如多个供应商需要通过系统影像共享功能时。
- 2.定义application级别的权限,为该应用程序的所有组件设置一个访问权限(可被组件设置的权限属性覆盖)
<application
android:permission="string"/>//为该application的所有组件设置的权限,取得该权限才能访问组件可被覆盖
- 3.定义activity级别的权限(启动该activity必须获得该权限)
<activity android:permission="string"/>//权限名称通常加包名作为前缀
别的程序中的组件需要访问该application中的组件时需在manifest中声明
<uses-permission android:name = "string"/>//权限名与该application中定义的权限名一致才能访问