以申请 Camera权限为例:
AndroidManifest.xml
final int CAMERA_REQUEST_CODE = 1;
if (ActivityCompat.checkSelfPermission(getContext(), android.Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(getActivity(), new String[] {android.Manifest.permission.CAMERA}, CAMERA_REQUEST_CODE);
}else{
mSurfaceHolder.addCallback(this);
mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode){
case CAMERA_REQUEST_CODE:{
if(grantResults.length>0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
mSurfaceHolder.addCallback(this);
mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}else{
Toast.makeText(getContext(), "Please provide the permission", Toast.LENGTH_LONG).show();
}
break;
}
}
}
这篇博客详细介绍了在Android应用中如何请求Camera权限。首先检查权限状态,如果未授予,则通过`ActivityCompat.requestPermissions()`请求权限。当用户做出响应后,在`onRequestPermissionsResult()`回调中处理结果,如果权限被授予则初始化相机功能,否则提示用户提供权限。
1213

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



