android6.0+多个权限申请问题

【字号: 日期:2022-12-16浏览:24作者:雯心

问题描述

单个权限申请比较简单:

//判断当前版本是否大于Mif (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { //判断当前Activity是否获得了该权限 if (ContextCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {//没有授权,判断权限申请是否曾经被拒绝过if (ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE)) { Toast.makeText(activity, '你曾经拒绝过此权限,需要重新获取', Toast.LENGTH_SHORT).show(); //进行权限请求 ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, EXTERNAL_STORAGE_REQ_CODE);} else { //进行权限请求 ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, EXTERNAL_STORAGE_REQ_CODE);}可是多个权限申请要怎么写?判断是否获取改权限的Permission貌似一次只能判断一个,如果在这个地方添加其他权限的判断,系统只会判断一次,然后给出所有权限判断的结果,,,所以,多个权限申请问题该怎么做?

问题解答

回答1:

多个权限就是在申请数组那里填写多个new String[]{权限A,权限B},申请多个,如果拒绝一个,也会判断为没有。所以在回调的地方需要自行处理

public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults)

同样通过String[]数组针对权限一一判断。

相关文章: