让代码更简单

Android开发动态请求权限

重要:本文最后更新于2022-11-08 19:24:59,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

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

评论 (0)

登录后评论
QQ咨询 邮件咨询 狗哥推荐