
我看到了许多博客中写到了单独去判断shouldShowRequestPermissionRationale()方法的值去判断为是否为不再提示,结果遇到了小坑,这里顺便记录一下.
在此之前我们知道的是,android 6.0之后才需要做权限动态申请这一 *** 作.
我们在开发过程中肯定会使用这样几个方法:
1.ContextCompat.checkSelfPermission 检查权限是否允许
2.ActivityCompat.requestPermissions 请求某个或某几个权限
3.onRequestPermissionsResult 手动请求权限之后的结果回调
4.shouldShowRequestPermissionRationale (今日主角,顾名思义为是否展示请求权限的意图)
我们都知道在现如今的app中进行权限申请只会有【允许】【仅这次允许】【禁止】【禁止后不再提示】
shouldShowRequestPermissionRationale的值在大部分情况下都为false
其中分为
1.用户未调用权限申请时,false 未调取权限则不需要展示意图
2.用户允许通过权限申请时,false 都允许通过了,则不需要展示意图
3.用户禁止通过权限申请时,true 需要向用户解释我们需要这个权限,展示你的意图
4.用户禁止并不再提示这个申请时,false 无权限申请d窗,用户无感,你也不需要展示意图
所以,我们可以在回调中写
例如
if (!ActivityCompat.shouldShowRequestPermissionRationale(this,Manifest.permission.CAMERA)
&& ActivityCompat.checkSelfPermission(this,Manifest.permission.CAMERA)==PackageManager.PERMISSION_DENIED) {
toast(getString(R.string.permission_with_camera));
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)