Android 权限申请代码示例:相机和读写存储权限
以下是一个简单的 Android 权限申请示例代码,演示如何请求相机和读写存储权限,并处理用户的权限选择结果:
- 首先,在 'AndroidManifest.xml' 文件中,添加需要请求的权限声明:
<uses-permission android:name='android.permission.CAMERA' />
<uses-permission android:name='android.permission.WRITE_EXTERNAL_STORAGE' />
- 在 Activity 中调用 'requestPermissions()' 方法,并传入需要请求的权限数组:
int PERMISSION_REQUEST_CODE = 200;
if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, Manifest.permission.CAMERA)) {
// 权限已经被拒绝过,需要再次说明
Toast.makeText(MainActivity.this, '请授权使用相机', Toast.LENGTH_SHORT).show();
} else {
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CAMERA}, PERMISSION_REQUEST_CODE);
}
}
if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
// 权限已经被拒绝过,需要再次说明
Toast.makeText(MainActivity.this, '请授权读写存储', Toast.LENGTH_SHORT).show();
} else {
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE);
}
}
- 在 Activity 中重写 'onRequestPermissionsResult()' 方法,处理用户的权限选择结果:
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
switch (requestCode) {
case PERMISSION_REQUEST_CODE:
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 权限被授予
Toast.makeText(MainActivity.this, '权限授予成功', Toast.LENGTH_SHORT).show();
} else {
// 权限被拒绝
Toast.makeText(MainActivity.this, '权限被拒绝', Toast.LENGTH_SHORT).show();
}
break;
}
}
以上就是一个简单的 Android 权限申请示例代码。需要注意的是,在 Android 6.0 及以上版本中,需要动态申请权限才能访问一些敏感信息和功能。
原文地址: https://www.cveoy.top/t/topic/mReD 著作权归作者所有。请勿转载和采集!