安卓版本越来越高,很多旧规则被废弃。比如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)