从 Android 6.0(API 级别 23)开始,用户开始在应用运行时向其授予权限,而不是在应用安装时授予。
private final static int PUBLISHER_REQUEST_CODE = 1;
import android.support.v4.content.ContextCompat;
import android.Manifest;
import andorid.content.pm.PackageManager;
import android.support.v4.app.ActivityCompat;
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)
!= PackageManager.PERMISSION_GRANTED ||
ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[] {
Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO},
PUBLISHER_REQUEST_CODE);
}
else {
/*your codes*/
}
@Override
public void onRequestPermissionsResult(int requestCode,
@NonNull String[] permissions,
@NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == PUBLISHER_REQUEST_CODE) {
if (grantResults[0] != PackageManager.PERMISSION_GRANTED ||
grantResults[1] != PackageManager.PERMISSION_GRANTED) {
// Permission Denied
Toast.makeText(this, "获取权限失败", Toast.LENGTH_SHORT).show();
return;
}
/* your codes*/
}
}
本文介绍从Android6.0开始的应用运行时权限管理机制。通过代码示例展示了如何检查权限状态并请求用户授权,包括处理权限请求结果的方法。

被折叠的 条评论
为什么被折叠?



