Android6.0动态申请权限
2017-12-19 14:20
357 查看
group:android.permission-group.CONTACTS permission:android.permission.WRITE_CONTACTS permission:android.permission.GET_ACCOUNTS permission:android.permission.READ_CONTACTS group:android.permission-group.PHONE permission:android.permission.READ_CALL_LOG permission:android.permission.READ_PHONE_STATE permission:android.permission.CALL_PHONE permission:android.permission.WRITE_CALL_LOG permission:android.permission.USE_SIP permission:android.permission.PROCESS_OUTGOING_CALLS permission:com.android.voicemail.permission.ADD_VOICEMAIL group:android.permission-group.CALENDAR permission:android.permission.READ_CALENDAR permission:android.permission.WRITE_CALENDAR group:android.permission-group.CAMERA permission:android.permission.CAMERA group:android.permission-group.SENSORS permission:android.permission.BODY_SENSORS group:android.permission-group.LOCATION permission:android.permission.ACCESS_FINE_LOCATION permission:android.permission.ACCESS_COARSE_LOCATION group:android.permission-group.STORAGE permission:android.permission.READ_EXTERNAL_STORAGE permission:android.permission.WRITE_EXTERNAL_STORAGE group:android.permission-group.MICROPHONE permission:android.permission.RECORD_AUDIO group:android.permission-group.SMS permission:android.permission.READ_SMS permission:android.permission.RECEIVE_WAP_PUSH permission:android.permission.RECEIVE_MMS permission:android.permission.RECEIVE_SMS permission:android.permission.SEND_SMS permission:android.permission.READ_CELL_BROADCASTS
在方法内添加申请权限方法
@Overrideprotected void onResume() {super.onResume();//请求权限requestPermission();// ……}申请权限方法
public void requestPermission(){//需要权限列表String[] permissions = new String[]{Manifest.permission.CAMERA,Manifest.permission.RECORD_AUDIO,Manifest.permission.WRITE_EXTERNAL_STORAGE};//权限待申请列表List<String> permissionLst = new ArrayList<String>();for (String permission : permissions) {//权限检测如果未允许,添加至待申请列表if (ContextCompat.checkSelfPermission(this, permission)!= PackageManager.PERMISSION_GRANTED) {permissionLst.add(permission);}}//如果待申请列表有需要申请的权限开始申请if(permissionLst.size()>0) {String[] requestPermissions = new String[]{};ActivityCompat.requestPermissions(this, permissionLst.toArray(requestPermissions), 1000);}}
请求权限回调方法
@Overridepublic void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {super.onRequestPermissionsResult(requestCode, permissions, grantResults);//回调请求码if(requestCode==1000){//所有申请的权限for (String permission : permissions){Logger.e("permission:"+permission);}//所有权限状态for (int grantResult : grantResults){if(grantResult == PackageManager.PERMISSION_GRANTED){//申请成功,被允许Logger.e("grantResult:"+true);}else{//申请失败,被拒绝Logger.e("grantResult:"+false);break;}}}}
//跳转至设置页面
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);intent.setData(Uri.parse("package:" + getPackageName()));startActivity(intent);
相关文章推荐
- Android6.0动态申请权限
- Android6.0 动态权限申请步骤以及需要注意的一些坑
- Android6.0动态权限申请步骤以及需要注意的一些坑
- Android6.0动态权限申请
- Android进阶——Android6.0 动态权限详解及动态申请权限的完全攻略
- Android6.0动态权限申请
- Android6.0动态权限申请步骤以及需要注意的一些坑
- Android6.0需要动态申请的权限
- Android6.0动态权限申请步骤以及需要注意的一些坑
- Android6.0动态权限申请步骤以及需要注意的一些坑
- 高仿微信-微信EM开发流程--(3)Android6.0动态权限申请
- Android6.0动态权限申请
- 转载 Android6.0动态权限申请步骤以及需要注意的一些坑
- 安卓开发——Android6.0动态权限申请步骤以及需要注意的一些坑
- Android6.0哪些权限要动态申请?
- Android6.0及以上动态申请权限详细讲解
- 使用AOP封装的权限动态申请库PermissionLibrary,简化针对Android6.0之后实现权限动态申请的复杂性
- Android6.0动态权限申请步骤以及需要注意的一些坑
- Android6.0动态申请权限那些坑--以及避免用户选择不再提示后无法获取权限的问题
- Android6.0动态权限申请步骤以及需要注意的一些坑