主要涉及到几个API:
1 requestPermissions 请求权限
public final void requestPermissions(@NonNull String[] permissions, int requestCode) {
在 activity 中可以直接调用。
第一个参数为需要请求的权限,
比如存储空间的写权限:
Manifest.permission.WRITE_EXTERNAL_STORAGE
存储空间的读权限:
Manifest.permission.READ_EXTERNAL_STORAGE
第二参数为请求的编码,在处理请求结果时会用到。
2 onRequestPermissionsResult 请求权限结果处理
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
可以在Activity中 重写这个方法,处理用户对权限请求的操作,是同意了,还是拒绝了。
参数一,就是上一个API requestPermissions 中 的requestCode。这里可以进行相应的判处理。
参数二,同样的 requestPermissions 的参数一致,
参数三,请求权限的结果, 有可能是:PackageManager.PERMISSION_GRANTED 或 PackageManager.PE