📅  最后修改于: 2023-12-03 15:25:03.882000             🧑  作者: Mango
在 Android 应用程序中,存储权限是一项非常重要的权限。它允许应用程序读取和写入用户设备上的存储空间,包括内部存储和外部存储(例如 SD 卡)。没有此权限,应用程序无法访问存储空间,这将导致应用程序无法正常工作。
Android 系统要求开发者在应用程序中明确请求需要使用的权限。要请求存储权限,请按如下所示在 AndroidManifest.xml 文件中添加以下代码:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
当应用程序需要访问存储空间时,需要检查应用程序是否已被授权。以下代码演示如何请求存储权限:
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.READ_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.READ_EXTERNAL_STORAGE)) {
} else {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);
}
}
该代码会检查是否已授权访问存储权限。如果没有,则会弹出对话框,请求用户授权。
当用户授权应用程序访问存储空间时,应用程序需要执行必要的操作。以下代码演示如何获取存储权限:
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
switch (requestCode) {
case MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE: {
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// permission was granted
} else {
// permission denied
}
return;
}
}
}
当用户授权应用程序访问存储空间时,将调用此方法。如果已授权,则应用程序将执行必要的操作。否则,应用程序将无法访问存储器。
存储权限是 Android 应用程序的一个重要权限。应用程序可以使用存储权限读取和写入设备上的存储空间。在请求存储权限时,应用程序需要检查是否已授权访问存储空间,并在获取授权后执行必要的操作。