Android自定义无锡网站开发公司权限利用总结

2022-02-25 10:42:14 无锡雷霆

code小生,一个专注Android畛域的技术平台java

做者:BrightVan
地址:https://www.jianshu.com/p/b60cde583237
申明:本文已获BrightVan受权,转发等请联络原做者受权android

一、如何申明自定义权限

在Manifest文件中利用Permission标签署义自身的权限:平安

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.bright.permission">


    <permission
        android:name="com.bright.permission.TEST"
        android:description=""
        android:permissionGroup="com.bright.permission-group.TEST"
        android:protectionLevel="signature" />

    ...
</manifest>

解释下各个属性:app

name,该标签就是权限的名字。spa

description,该标签就是权限的引见。code

permissionGroup,指定该权限的组。orm

protectionLevel,指定保护级别。xml

Android将权限分为若干个保护级别,normal, dangerous, signature等。normal就是失常权限,无锡小程序,该权限并不会给用户或许设施的隐衷带来危险;dangerous就是风险权限,该级别的权限普通会给用户的数据或设施的隐衷带来危险;signature指的是,只要相反签名的运用能力利用该权限。更多的引见可以参考protectionLevel。排序

二、利用场景

自定义权限通常用于暴显露去的组件,降职平安性。Android允许一个运用(客户端)调用另外一个运用(服务端)的组件。那么做为服务端的运用就得裸露相应的组件,客户端运用能力访问。固然,在裸露的时分,权限是非必须的,若是裸露的组件没有权限的话,那么任何的其他运用均可能来调用该组件;若是该组件央求了权限,那么只要领有该权限的运用能力调用该组件。ip

<activity
    android:name=".TestA_Activity"
    android:exported="true"
    ...  />

exported属性就是表明能否裸露。该例子并无要求调用者需要央求权限,也就是说,任何的运用就可以调用才组件。若是每一个运用均可能调用我们的组件的话,显然是不平安的,我们但愿只要利用了我们的权限的运用,能力调用我们裸露的组件,我们可以在activity中退出permission属性。

<activity
    android:name=".TestA_Activity"
    android:exported="true"
    ...  />

Intent intent = new Intent();
intent.setClassName("com.bright.permission""com.bright.permission.TestA_Activity");
startActivity(intent);

除了上面的模式,还可以通过intent-filter隐式启动:

<activity
    android:name=".TestA_Activity"
    android:exported="true"
    ... >

    <intent-filter>
            <action android:name="com.bright.permission.action.TEST"/>
            <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
</activity>
Intent intent = new Intent();
intent.setAction("com.bright.permission.action.TEST");
startActivity(intent);
三、自定义权限留意点 3.一、两个运用申明了相反的权限

Android不允许两个不一样的运用定义一个相反名字的权限(除非这两个运用领有相反的签名),因此在命名的时分,需要顺便留意。

领有相反自定义权限的软件必须利用一样的签名,不然后一个程序没法装置。

3.二、和运用装置顺序的关系。

场景:App A中申明了权限PermissionA,App B中利用了权限PermissionA。

Android,自定,义权,限使,用总