android studio onRequestPermissionsResult调用相机拍照
时间: 2024-09-24 10:28:03 浏览: 50
android studio 调用相机拍照,选择相册照片
5星 · 资源好评率100%
在Android Studio中,`onRequestPermissionsResult`是一个生命周期回调方法,用于处理用户对权限请求的响应,比如相机权限。当你应用试图访问用户的相机权限时,系统会先请求用户授权,然后在用户同意或拒绝后调用这个方法。
当用户点击了应用内的“允许”或“拒绝”按钮,系统会通过`ContextCompat.checkSelfPermission()`检查当前权限状态,并通过`ActivityCompat.requestPermissions()`发起权限请求。如果用户给予了权限,`onRequestPermissionsResult`会在`ACTION_REQUEST_PERMISSION_GRANTED`时被调用;如果用户拒绝,它会在`ACTION_REQUEST_PERMISSION_DENIED`时被调用。
在这个方法里,你可以检查请求的结果(`requestCode`、`permissions[]`数组),并根据结果做相应的处理,例如:
```java
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch (requestCode) {
case REQUEST_CAMERA_PERMISSION: {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 用户已授予权限,可以开始相机操作
startCamera();
} else {
// 权限未授予,需要处理拒绝情况
handlePermissionDenied();
}
return;
}
// 其他请求码...
}
}
```
在上述代码中,你需要预先定义`REQUEST_CAMERA_PERMISSION`常量,并在申请权限时设置它作为`requestPermissions()`的第一个参数。
阅读全文