我正在构建一个存储管理程序,但是我不能删除/重命名/在外部存储上创建文件
我使用file.delete()代码进行内部存储,它的工作非常棒,但它不工作在外部存储文件上,也尝试过
DocumentFile fileUri = DocumentFile.fromFile(file);
fileUri.delete();而且这也是一种剂量效应
每当用户想要删除/重命名/创建文件时,我如何才能在不使用Intent.ACTION_OPEN_DOCUMENT_TREE的情况下写入外部存储?
文件路径为/storage/5A85-D438/*files or a folders*
permissions:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>包括android:requestLegacyExternalStorage="true"
发布于 2022-02-05 00:44:46
您只需在输出流上使用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) {}}https://stackoverflow.com/questions/67861180
复制相似问题