您的位置:首页 > 移动开发 > Android开发

定位、读取手机状态等权限在6.0系统不管用

2017-05-21 16:52 411 查看
判断版本号,如果是6.0以上,在代码中加入需要的权限,可以为多个权限,也可以为一个权限

if(Build.VERSION.SDK_INT >= 23){
requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.READ_PHONE_STATE},REQUEST_CONTACTS);
}

重写方法,判断如果没有加上权限的操作,或加入权限的操作
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode==REQUEST_CONTACTS){
if (PermissionUtil.verifyPermissions(grantResults)) {

}
}
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}


权限的util

package com.yjkj.sandihuabing;

import android.content.pm.PackageManager;

/**
* Created by yunjia on 2016/12/21.
*/

public abstract class PermissionUtil {

public static boolean verifyPermissions(int[] grantResults) {
// At least one result must be checked.
if(grantResults.length < 1){
return false;
}

// Verify that each required permission has been granted, otherwise return false.
for (int result : grantResults) {
if (result != PackageManager.PERMISSION_GRANTED) {
return false;
}
}
return true;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android权限
相关文章推荐