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被调用了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwxjpj.html