Android6.0以后的动态申请权限

由于考虑到安全问题,安卓6.0以后,有些权限是需要动态申请的:

if(ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE)
								!= PackageManager.PERMISSION_GRANTED)
                ActivityCompat.requestPermissions(this,
                	new String[]{Manifest.permission.READ_PHONE_STATE},1);

首先要判断是否获取过该权限避免重复获取。然后再申请,如果需要得到申请权限的结果:
在这里插入图片描述
这是运行结果的两种情况,所以我们只需要判断结果是-1还是0 就行

@Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        switch (requestCode){
            case 1:
                if(grantResults[0] == 0)
                //成功
                else
                //失败
        }
    }

注意,每一个onRequestPermissionsResult使用前提是requestPermissions被调用了。

猜你喜欢

转载自blog.csdn.net/u011463794/article/details/89456761