安卓版本越来越高,很多旧规则被废弃。比如Android以前的老版本权限控制只需要在AndroidManifest文件中添加对应权限即可,而现在的版本必须在使用时对部分权限进行请求,否则应用将不能获取权限,下面以存储读写权限为例。
复制
///请求读写存储权限 public static void verifyStoragePermissions(Activity activity) { final int REQUEST_EXTERNAL_STORAGE = 1; final String[] PERMISSIONS_STORAGE = { "android.permission.READ_EXTERNAL_STORAGE", "android.permission.WRITE_EXTERNAL_STORAGE" }; try { //检测是否有写的权限 int permission = ActivityCompat.checkSelfPermission(activity, "android.permission.WRITE_EXTERNAL_STORAGE"); // 没有写的权限,去申请写的权限,会弹出对话框 if (permission != PackageManager.PERMISSION_GRANTED) ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE); } catch (Exception e) { e.printStackTrace(); Toast.makeText(activity, "获取存储权限失败,部分功能将无效。",Toast.LENGTH_SHORT).show(); } }
首先检查是否拥有权限,没有就动态申请权限。
评论 (0)