需要在运行时申请的权限(Android 6.0 以后)
参考:《第二行代码》
申请
请求应用权限:https://developer.android.google.cn/training/permissions/requesting.html
- 在AndroidManifest.xml中声明要申请的权限。
- 在Activity里判断。
if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CALL_PHONE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CALL_PHONE}, 1);
}
- 在onRequestPermissionResult () 中处理同意或拒绝权限后的操作。
备注:数字 1 为 requestCode,可随意修改。
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode) {
case 1:
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
//同意之后的操作;
} else {
//拒绝之后的操作;
}
}
}