获取本应用的分区存储路径
时间: 2023-11-27 19:05:34 浏览: 32
在 Android 10 及以上版本中,每个应用都有自己的私有存储空间,使用分区存储来保护应用的数据。获取本应用的分区存储路径可以使用 Context#getExternalFilesDir() 方法。该方法返回一个 File 对象,表示应用的私有目录,您可以在该目录下创建文件和文件夹,并在应用卸载时自动删除。
以下是获取本应用的分区存储路径的代码示例:
```
File storageDir = getExternalFilesDir(null);
```
如果您需要在公共存储空间中创建文件,可以使用 MediaStore API。以下是在公共存储空间中创建图片文件的代码示例:
```
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.DISPLAY_NAME, "my_photo.jpg");
values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
Uri uri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
File file = new File(uri.getPath());
```
需要注意的是,Android 10 及以上版本需要在 Manifest 文件中声明 READ_EXTERNAL_STORAGE 或 WRITE_EXTERNAL_STORAGE 权限,并且还需要在运行时请求权限。同时,还需要在 Manifest 文件中声明 requestLegacyExternalStorage="true" 属性来允许应用访问共享存储空间。