此文章只做分享,如被自动变为vip文章请私信提醒我
1.在Manifest中添加权限
2022.5.20更新
shouldShowRequestPermissionRationale这个函数在这里貌似没什么用,直接调用requestPermissions就可以了
需要什么权限就添加什么权限,这里我加了四个权限,第一个是用来干什么的忘了
- READ_EXTERNAL_STORAGE 读取外部存储空间
- WRITE_EXTERNAL_STORAGE 写入外部存储空间
- CAMERA 相机权限
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
tools:ignore="ProtectedPermissions"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
2.在MainActivity中添加动态获取权限函数
代码如下,在OnCreate方法中调用即可,耦合性很低,非常简单
关键点在于使用或运算(|),同时显示所有权限请求
我最开始想一个一个显示,但是弹出一个权限请求之后就没有下文了,换了这种方法
private void askPermission(){
boolean sSRPR=ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)|
ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_EXTERNAL_STORAGE)|
ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.CAMERA);
Log.e("msg",Boolean.toString(sSRPR));
if(sSRPR){
//5.20更新,直接写下面这一行
//begin
ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.CAMERA
},0);
//end
}
}
参考文章
https://blog.csdn.net/weixin_44555047/article/details/86522380?spm=1001.2014.3001.5502