![](/img/trans.png)
[英]How to wait until file copy from system directory to external storage with root access
[英]How to delete file or directory from root directory of external storage (...removable sdcard root directory)
我正在构建一个存储管理器应用程序,但我无法在外部存储上删除/重命名/创建文件
我使用file.delete()
代码进行内部存储,它的工作原理很好,但它不适用于外部存储文件,也尝试过
DocumentFile fileUri = DocumentFile.fromFile(file);
fileUri.delete();
而且它也很有效
每次用户想要删除/重命名/创建文件时,如何在不使用Intent.ACTION_OPEN_DOCUMENT_TREE
的情况下写入外部存储?
文件路径是/storage/5A85-D438/*files or a folders*
已经添加了以下权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
包括android:requestLegacyExternalStorage="true"
您可以在 Output Stream 上使用 DocumentFile 和 createFile。
if (!t.getString("muri", "").equals("")) {
try{
muri = t.getString("muri", "");
Uri treeUri = Uri.parse(muri);
final int takeFlags =
intent.getFlags() &
(Intent.FLAG_GRANT_READ_URI_PERMISSION |
Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
this.getContentResolver()
.takePersistableUriPermission(treeUri, takeFlags);
DocumentFile mr = DocumentFile.fromTreeUri(this, treeUri);
DocumentFile nf = mr.createFile("text/plain", "JAMZ");
OutputStream os =
getContentResolver().openOutputStream(nf.getUri());
os.write(pass.getBytes());
os.close();
wuri = nf.getUri().toString();
t.edit().putString("wuri", wuri).commit();
} catch (Exception e) {}}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.