在 Android 系统中,为了保证应用程序的安全性,应用程序不能随意访问设备上的文件。如果你的应用程序需要读写外部存储器上的文件,你需要在你的应用程序中申请文件读写权限。以下是 Android 文件读写权限申请的步骤:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
在运行时动态请求权限。为了保证用户的隐私和安全,Android 6.0 及以上版本的系统要求应用程序在运行时动态请求权限。你可以使用以下代码来请求文件读写权限:
// 检查读写权限是否已被授予
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
// 如果权限未被授予,则请求权限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, requestCode);
} else {
// 如果权限已被授予,则执行相应操作
在上述代码中,如果权限未被授予,则调用 requestPermissions()
方法请求权限。如果权限已被授予,则执行相应的操作。
处理权限请求结果。当用户选择授权或拒绝权限请求时,系统会调用 onRequestPermissionsResult()
方法通知应用程序。你需要在这个方法中处理权限请求结果。例如,你可以使用以下代码来处理文件读写权限请求结果:
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == requestCode) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 如果权限已被授予,则执行相应操作
} else {
// 如果权限未被授予,则给出相应提示
在上述代码中,如果用户授权了权限,则 grantResults
数组中的值为 PackageManager.PERMISSION_GRANTED
,否则为 PackageManager.PERMISSION_DENIED
。
以上就是 Android 文件读写权限申请的基本步骤。记得在申请权限时要清晰地告知用户为何需要这些权限,并确保你的应用程序能够正确处理用户拒绝权限请求的情况。