android 自定义权限

来源:互联网 发布:linux dump整个内存 编辑:程序博客网 时间:2024/06/14 21:14

android  支持用户自定义权限, 例如: 如果希望阻止某些用户启动应用程序中的某个活动,可以自定义权限来实现,要使用自定义权限,
首先在AndroidManifest.xml 文件中声明它们。
在内容提供者中添加自定义权限需要在Manifest.xml文件中配置:
<!-- 注册一个ContentProvider -->
  <provider android:name=".DictProvider"
   android:authorities="org.crazyit.providers.dictprovider"
   //权限
   android:permission="com.org.content"
   android:multiprocess="true"
   />
<permission android:name="com.org.content" android:protectionLevel="normal"></permission>
需要注意的是:<permission>标签中的android:name的属性值必须要与<provider>标签中的属性值一致。
而<primission>标签中的android:name属性和android:protectionLevel属性是必需同时存在的,否则会导致程序崩溃。
android:protectionLevel属性值详解:
定义与权限相关的"风险级别"。必须是以下值之一:
normal,  dangerous, signature, signatureOrSystem
取决于保护级别,在确定是否授予权限时,系统可能采取不同的操作。
normal 表示权限是低风险的,不会对系统、用户或其他应用程序造成危害;
dangerous 表示权限是高风险的,系统将可能要求用户输入相关信息,才会授予此权限;
signature 表示只有当应用程序所用数字签名与声明引权限的应用程序所用数字签名相同时,
才能将权限授给它;signatureOrSystem 表示将权限授给具有相同数字签名的应用程序或android 包类。
这一保护级别适和于非常特殊的情况,比如多个供应商需要通过系统映像共享功能时。
 

另外当另一个应用需要访问时,则需要在Manifest.xml文件中配置权限信息: <uses-permission android:name="com.org.content"/>否则是无法访问的

 

0 0