自定义权限检查&&为基本组件添加权限检查

1、自定义权限检查

  • 权限检查类:
  • public class CheckPermission {
        public static final String PERMISSION = "com.example.checkpermission.permission.ipy";
        
        public static boolean CheckIpy(Context context) {
            int result = context.checkCallingOrSelfPermission(PERMISSION);
            if (result != PackageManager.PERMISSION_GRANTED) {
                throw new SecurityException("缺少权限:"+PERMISSION);//抛出安全性错误
            }
            Log.d("Permission","具有权限"+PERMISSION);//输出具有权限
            return true;
        }
    }

     

  • 启动权限检查:
  •  @Override
      protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            CheckPermission.CheckIpy(this);
      }

     

  • manifest文件注册权限:
  • <permission android:name = "com.example.checkpermission.permission.ipy"></permission>

     

  • 是否声明具有该权限,会造成不同结果:
  • <uses-permission android:name = "com.example.checkpermission.permission.ipy"></uses-permission>

     

  • --------------------------------------------------------------------------------------------------------------

2、为基本组建添加权限检查

  • 四大组建都能按照同样的方式配置权限
  •  1 <permission android:name="ssss"></permission>
     2 <activity
     3     android:name = ".MyAty"
     4     android:label="MyAty"
     5     android.permission="ssss">
     6     <intent-filter>
     7             <category android:name = "android.intent.category.DEFAULT"/>
     8              <action android:name = "android.intent.category.DEFAULT"/>
     9      </intent-filter>
    10 </activity>

     

  • 在同一个app,不论自己的组建是什么权限或者自己有没有,app程序内部都能够创建组建。唯一的限制就是对外。
posted @ 2015-05-16 02:17  何人之名  阅读(160)  评论(0)    收藏  举报