关于Android权限获取与检测的总结记录

关于Android权限获取与检测的总结记录

    1,目前的权限检测与申请,主要分为两种6.0以下和6.0以上,6.0以下又可以分为5.0以上和5.0以下(主要是因为部分厂商自己瞎JB搞,弄出一套伪动态申请)
    2,6.0以下的操作系统,权限检测都是假的,Google不提动态检测权限的api,只要你在权限管理中能看到的权限,都是默认开启的,即使你在设置中手动关闭(部分厂商的5.0操作系统,也会有允许和拒绝权限的提示框),在代码中检测任然是允许的,目前主流做法是在异常中检测,如录音异常就表示没有录音权限,打开摄像头异常就表示没有摄像头权限
    3,6.0以上的操作系统,可以动态获取权限状态,但用户点击不再提示,并且拒绝后,还是要自己处理

相关代码:

public class PermissionListenerUtil extends AppCompatActivity {
private PermissionListener mListener;
//权限请求的方法
public void requestRuntimePermission(Activity activity, String permission, PermissionListener listener) {
    mListener = listener;
    if (isMarshmallow()) {
        if (ContextCompat.checkSelfPermission(activity, permission) != PackageManager.PERMISSION_GRANTED) {
            //未授权
            ActivityCompat.requestPermissions(activity, new String[]{permission}, 1);
        } else {
            //已授权
            if (Manifest.permission.RECORD_AUDIO.equals(permission)) {
                if (AudioPermissionCheckUtils.checkAudioPermission(activity)) {
                    mListener.onGranted();          //已获取音频权限
                } else {
                    mListener.onDenied();           //未获取音频权限
                }
            } else {
          
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值