zoukankan      html  css  js  c++  java
  • 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>
    

      

  • 相关阅读:
    MySQL information_schema
    Sqlmap入门
    MySQL UNION
    Order by 1
    yum安装软件时,提示No package netstat available.的解决方法
    Centos7查看端口占用
    查看Centos版本
    Linux非交互方式设置密码
    Hive中的用户自定义函数
    Dbeaver连接Hive和Mysql的配置
  • 原文地址:https://www.cnblogs.com/wjw334/p/4365291.html
Copyright © 2011-2022 走看看