android - 为不同的版本做权限判断(check permission)
2017-09-02 14:56
访问量: 2300
分类:
技术
在5.1 (sdk 22)之前, 权限是在一开始安装的时候确定的。
在6.0 (sdk 23)之后, 权限是在运行时检查的。目的是为了简化安装过程。
下面的代码,就可以针对不同的平台做检查。
写在Activity中:
// 定义这个常量, 用来申请权限的时候 做个记号。
private static final int MY_PERMISSIONS_REQUEST_READ_CONTACTS = 3;
public voic onCreate(...){
// 检查相机权限
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
Log.d(TAG, "== requestPermissions: ");
if( ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED)
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_CONTACTS}, MY_PERMISSIONS_REQUEST_READ_CONTACTS);
}else{
Log.d(TAG, "== just show alert");