在 AndroidManifest.xml 文件中添加以下权限声明:
然后,在使用相机的 Activity 中,需要在 onResume() 方法中检查并请求相机权限:
private static final int REQUEST_CAMERA_PERMISSION = 1;
@Override
protected void onResume() {
super.onResume();
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.CAMERA }, REQUEST_CAMERA_PERMISSION);
} else {
// 进行相机操作
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == REQUEST_CAMERA_PERMISSION) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 进行相机操作
} else {
Toast.makeText(this, "请授权相机权限", Toast.LENGTH_SHORT).show();
}
}
}
同时,在 AndroidManifest.xml 文件中声明 Provider,用于共享相机的访问权限:
并创建 file_paths.xml 文件,指定所需的文件路径:
下一篇:Android11无法启动模拟器