美文网首页
Android 6.0+ 动态询问权限

Android 6.0+ 动态询问权限

作者: 番茄tomato | 来源:发表于2019-12-04 11:43 被阅读0次

这是一个全局的封装类,推荐使用于MainActicity一次性请求所有权限(局部的权限请求待补充)

android 6.0需要我们动态的申请权限,比如内存卡读写的权限
这里在网上找了一个封装的类:

public class PermisionUtils {

    // Storage Permissions
    private static final int REQUEST_EXTERNAL_STORAGE = 1;
    private static String[] PERMISSIONS_STORAGE = {//这里只加入了读写和相机权限,还可以加入其他权限
            Manifest.permission.READ_EXTERNAL_STORAGE,
            Manifest.permission.WRITE_EXTERNAL_STORAGE,
            Manifest.permission.CAMERA
    };

    /**
     * Checks if the app has permission to write to device storage
     * If the app does not has permission then the user will be prompted to
     * grant permissions
     * <p>
     * * @param activity
     */
    public static void verifyStoragePermissions(Activity activity) {
        for (String per : PERMISSIONS_STORAGE) {
            int permission = ActivityCompat.checkSelfPermission(activity,
                    per);
            if (permission != PackageManager.PERMISSION_GRANTED) {
                ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE,
                        REQUEST_EXTERNAL_STORAGE);
                break;
            }
        }
    }
}

用法:
在需要申请权限的activity onCreat中:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_camera);
        PermisionUtils.verifyStoragePermissions(this);
......
}
//用户授权或者拒绝授权之后的操作
onRequestPermissionsResult()

相关文章

网友评论

      本文标题:Android 6.0+ 动态询问权限

      本文链接:https://www.haomeiwen.com/subject/bggkgctx.html