java - 如何在 Android Studio 中使用 Uri 访问“Android/data/”中的文件夹
问题描述
我的问题是我无权访问“Android/data/”中的文件夹,但我可以通过向用户请求 Uri 来确认它来访问“Android/data/”文件夹。
这是代码,无论我尝试什么,它总是将文件保存到“Android/data/”而不是“Android/data/com.tencent.ig/”
public void copy(File src, Uri dst) throws IOException {
Uri treeUri = getPersistedUriPermissions().getUri();
Uri subDir = DocumentsContract.buildDocumentUriUsingTree(treeUri,DocumentsContract.getTreeDocumentId(treeUri)+"/com.tencent.ig/");
Toast.makeText(MainActivity.this,subDir.toString(),Toast.LENGTH_LONG).show();
DocumentFile file = DocumentFile.fromTreeUri(this,subDir);
try (InputStream in = new FileInputStream(src)) {
try (OutputStream out = getContentResolver().openOutputStream(file.createFile("","Active.sav").getUri(),"w")){
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0){
out.write(buf,0,len);
}
}
}
}
解决方案
推荐阅读
- c++ - code::blocks 智能感知/自动完成不适用于命名空间
- sql - Oracle Live SQL:SQL 命令未正确结束
- c# - .net 5 项目需要安装 .net core 3.1
- api - 有没有办法通过代码更改 Redragon 产品的 RGB 设置?
- javascript - 如何从预测数据中获取映射数组中显示的温度数据以及一周中的所有日期?
- python - TensorFlow 会利用 GPU 进行预测分析吗?
- node.js - 使用 localhost 节点项目访问服务器上的数据库
- javascript - 第二个案例在满足条件后运行,带有 JS 开关案例
- python - vscode 中的 Jupyter Notebook 问题(所选解释器中未安装内核规范模块)
- python - UUID 可以用作用户将使用的跟踪号吗?