close
Activity處理危險權限
//請求權限
String[] permissionArray = getPermission(new String[]{Manifest.permission.READ_CONTACTS,Manifest.permission.CALL_PHONE}); if(permissionArray.length>0){ ActivityCompat.requestPermissions( this,permissionArray, REQUEST_CONTACTS ); }
//請求權限回饋
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if(requestCode == REQUEST_CONTACTS){ if(grantResults.length>0){//取得權限成功 }else{//取得權限失敗 } } }
//處理多個權限確認
private String[] getPermission(String[] permissionArray){ ArrayList<String> requestPermissions = new ArrayList<>(); for(String permission : permissionArray) { if(ActivityCompat.checkSelfPermission(this, permission) == PackageManager.PERMISSION_GRANTED){ }else{ requestPermissions.add(permission); } } return requestPermissions.toArray(new String[requestPermissions.size()]);; }
全站熱搜