• android 自定义权限 permission


    http://blog.csdn.net/feng88724/article/details/6409313

    http://byandby.iteye.com/blog/1028034

    定义的Activity的Manifest中

     <permission-group
            android:name="com.adb.permission-group.custom"
            android:description="@string/hello_world"
            android:label="test for" >
        </permission-group>
    
        <permission
            android:name="com.abc.permission.startAct"
            android:description="@string/hello_world"
            android:label="test to start permisson"
            android:permissionGroup="com.adb.permission-group.custom"
            android:protectionLevel="normal" >
        </permission>
    ...
     <activity
                android:name=".MainActivity1"
                android:label="@string/app_name"
                android:permission="com.abc.permission.startAct" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
    

      启动的activity 工程Manifest 使用 permission

    <uses-permission android:name="com.abc.permission.startAct" />
    

      说明:

    1. permission 中android:permissionGroup可以不加
    2. android:protectionLevel  必须有 定义权限的风险级别,必须是以下值之一: 
    notmal、 dangerous、signature、signatureOrSystem 
    normal表示权限是低风险的,不会对系统、用户或其他应用程序造成危害。 
    signature 同一签名可访问
    signatureOrSystem  同一签名或者系统应用

    3.利用可限制访问 activity 或者 Receiver 或者 provider (记得有次面试会问怎么限制provider的访问者 这个是一个方法)

    如:
          <provider
                android:name="com.android.launcher2.LauncherProvider"
                android:authorities="com.android.launcher5.settings"
                android:exported="true"
                android:readPermission="com.android.launcher.permission.READ_SETTINGS"
                android:writePermission="com.android.launcher.permission.WRITE_SETTINGS" />
    

      

    android:exported="true"是 是否 可以由外部程序访问

    如:
          <receiver
                android:name="com.android.launcher2.PreloadReceiver"
                android:permission="com.android.launcher.permission.PRELOAD_WORKSPACE" >
                <intent-filter>
                    <action android:name="com.android.launcher.action.PRELOAD_WORKSPACE" />
                </intent-filter>
            </receiver>
    

      

  • 相关阅读:
    OCP-1Z0-053-200题-178题-187
    OCP-1Z0-053-200题-179题-232
    OCP-1Z0-053-200题-181题-407
    OCP-1Z0-053-200题-182题-408
    OCP-1Z0-053-V13.02-408题
    OCP-1Z0-053-200题-183题-232
    OCP-1Z0-053-200题-184题-270
    OCP-1Z0-053-200题-185题-44
    OCP-1Z0-053-200题-186题-61
    OCP-1Z0-053-200题-187题-610
  • 原文地址:https://www.cnblogs.com/wjw334/p/4365291.html
Copyright © 2020-2023  润新知