getExternalStorageDirectory 权限
时间: 2024-06-12 11:08:58 浏览: 246
getExternalStorageDirectory方法不需要特定的权限。它用于获得外部存储的路径,通常是SD卡的路径。但是,如果你要访问外部存储上的文件或目录,你可能需要READ_EXTERNAL_STORAGE或WRITE_EXTERNAL_STORAGE权限(取决于你的读写操作)。这些权限用于在应用程序中读取或写入外部存储上的文件。所以,getExternalStorageDirectory方法本身不需要权限,但是要访问外部存储上的文件或目录,可能需要相关的权限。
相关问题
public static String appFolderImportName = Environment.getExternalStorageDirectory().getPath() + "/xiaoshipin/import";有读写权限,但是读取到错误的文件路径
如果您已经添加了外部存储的读写权限,并且确保外部存储设备已经正确挂载,可能是因为您的应用程序没有在运行时请求外部存储的权限。从Android 6.0(API级别23)开始,应用程序必须在运行时请求一些权限,以确保用户授予了应用程序所需的权限。
您可以添加以下代码在运行时请求外部存储的权限:
```java
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_REQUEST_CODE);
} else {
// 权限已授予,执行需要访问外部存储的操作
}
```
此外,您可以通过在设备上查看实际的文件路径来确认路径是否正确。您可以使用文件管理器应用程序或命令行工具(如adb shell)来查看文件路径。
Environment.getExternalStorageDirectory().getAbsolutePath();
是的,`Environment.getExternalStorageDirectory().getAbsolutePath()` 是一个Java代码,可以在Android系统中获取到 `/storage/self/primary` 这个路径。它使用了Android系统中的 `Environment` 类,调用了 `getExternalStorageDirectory()` 方法获取外部存储设备的根路径,然后使用 `getAbsolutePath()` 方法获取该路径的绝对路径字符串表示。请注意,该方法需要在AndroidManifest.xml文件中添加读写存储的权限。
阅读全文