写安卓软件弹窗申请存储权限
在安卓软件中申请存储权限时,可以使用以下步骤来弹出权限申请的弹窗:
- 首先,在 AndroidManifest.xml 文件中添加存储权限的声明。在
<manifest>标签中添加以下代码:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
- 在需要申请权限的地方,例如一个按钮的点击事件中,添加以下代码:
// 检查是否已经获得存储权限
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
// 如果没有获得权限,则弹出权限申请窗口
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
REQUEST_CODE_STORAGE_PERMISSION);
} else {
// 如果已经获得权限,则执行相关操作
performStorageOperation();
}
- 在
onRequestPermissionsResult方法中处理权限申请结果,添加以下代码:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == REQUEST_CODE_STORAGE_PERMISSION) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 用户同意了存储权限,执行相关操作
performStorageOperation();
} else {
// 用户拒绝了存储权限,可以根据需要显示一条提示信息
Toast.makeText(this, "存储权限被拒绝", Toast.LENGTH_SHORT).show();
}
}
}
- 在
performStorageOperation方法中执行需要存储权限的操作,例如保存文件等。
以上代码中的 REQUEST_CODE_STORAGE_PERMISSION 是一个自定义的请求码,用于标识权限请求的回调结果。
需要注意的是,如果你的应用目标 SDK 版本在 Android 6.0(API level 23)及以上,还需要在运行时动态申请权限。
原文地址: https://www.cveoy.top/t/topic/i8Sc 著作权归作者所有。请勿转载和采集!