首先检查所需要申请的权限是否已经拥有。
private final int WRITE_PERMISSION_REQ_CODE = 110;
private boolean checkRequestPermissions() {if (Build.VERSION.SDK_INT >= 23) {List<String> permissions = new ArrayList<>(); if (PackageManager.PERMISSION_GRANTED != ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CAMERA)) {permissions.add(Manifest.permission.CAMERA); }if (PackageManager.PERMISSION_GRANTED != ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_COARSE_LOCATION)) {permissions.add(Manifest.permission.ACCESS_COARSE_LOCATION); }if (permissions.size() != 0) {ActivityCompat.requestPermissions(MainActivity.this, (String[]) permissions.toArray(new String[0]), WRITE_PERMISSION_REQ_CODE); return false; }}return true; }重后重写onRequestPermissionsResult方法,在获取相应的权限后,进行对应的操作@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {if (requestCode == WRITE_PERMISSION_REQ_CODE) {if (grantResults.length == 1 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {//获取到权限后执行的方法}} }最后在onCreate的方法中调用checkRequestPermission()方法,效果如图![]()