Android 31 获取本地储存路径代码
时间: 2023-11-10 20:17:59 浏览: 44
获取本地存储路径的代码如下:
```java
String localPath = getApplicationContext().getFilesDir().getAbsolutePath();
```
其中,`getFilesDir()`方法会返回当前应用程序的数据目录,`getAbsolutePath()`方法会返回该目录的绝对路径。如果你需要访问公共存储区域,可以使用以下代码:
```java
String publicPath = Environment.getExternalStorageDirectory().getAbsolutePath();
```
其中,`getExternalStorageDirectory()`方法会返回公共存储区域的根目录,`getAbsolutePath()`方法会返回该目录的绝对路径。请注意,访问公共存储区域需要相应的权限声明和运行时权限请求。
相关问题
Android Bitmap图片保存本地 再加载
要将Android Bitmap图片保存到本地,可以使用以下代码:
```java
// 获取Bitmap对象
Bitmap bitmap = ...
// 设置保存路径
File file = new File(Environment.getExternalStorageDirectory().getPath() + "/myimage.png");
// 创建输出流
FileOutputStream fos = new FileOutputStream(file);
// 将Bitmap对象保存到本地
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
// 关闭输出流
fos.flush();
fos.close();
```
接着,要加载本地的图片,可以使用以下代码:
```java
// 获取本地文件路径
File file = new File(Environment.getExternalStorageDirectory().getPath() + "/myimage.png");
// 将文件转换成Bitmap对象
Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
```
需要注意的是,保存和加载图片都需要添加读写SD卡的权限。
Android webview怎么加载本地储存卡的pdf文件
在 Android WebView 中加载本地存储卡中的 PDF 文件,可以按照以下步骤进行:
1. 确保应用程序已经获得了读取存储卡的权限。可以在 AndroidManifest.xml 文件中添加以下代码:
```
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
```
2. 在运行时请求读取存储卡的权限。可以使用以下代码:
```
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.READ_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);
}
```
其中,MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE 是自定义的请求代码。
3. 在 WebView 中加载 PDF 文件时,使用以下代码:
```
webView.loadUrl("file:///storage/emulated/0/example.pdf");
```
其中,“example.pdf”是要加载的 PDF 文件的名称。请注意,路径中的“/storage/emulated/0/”是存储卡根目录的路径,因此应该根据实际情况进行修改。
请注意,在 Android 7.0(API 级别 24)及更高版本中,由于应用程序的私有文件不再直接可访问,建议将 PDF 文件保存在公共目录中,例如“/storage/emulated/0/Download/”。这样可以避免使用 FileProvider。