Android动态权限申请

Android动态权限申请

在Android 6.0后,安卓开发权限的申明就不再只是在AndroidManifest.xml文件中声明了,大多数权限都需要用户的允许。

权限申请

首先和6.0以前一样,在AndroidManifest.xml文件中添加需要的权限,这里以读写权限为例

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

同时,在需要权限的地方或者MainActivity中编写权限申请方法

//    获取权限方法
    public static void getPermissionCamera(Activity activity) {
//      检查权限
        int readPermissionCheck = ContextCompat.checkSelfPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE);
        int writePermissionCheck = ContextCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);

//        检查是否已经有该权限,没有才去申请
//        PackageManager.PERMISSION_GRANTED--->有
//        PackageManager.PERMISSION_DENIED---->无
        if (readPermissionCheck != PackageManager.PERMISSION_GRANTED || writePermissionCheck != PackageManager.PERMISSION_GRANTED) {
//            将这些权限添加到数组中
            String[] permissions = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE};
//            通过ActivityCompat.requestPermissions()方法申请权限
            ActivityCompat.requestPermissions(
                    activity,
                    permissions,
                    0);
        }
    }

别忘了在onCreate方法中应用它

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getPermissionCamera(this);
    }

动态权限申请就是这么简单,如果想了解的更加详细

(18条消息) Android权限管理及动态申请权限_TheRisingMoon的博客-CSDN博客_android动态申请权限

热门相关:无量真仙