安卓外部存储文件夹(通过SAF创建)及其内容被清洁器错误删除


private void triggerStorageAccessFramework() {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
intent.addFlags(Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION);
startActivityForResult(intent, REQUEST_CODE_STORAGE_ACCESS);
}

@Overrideprotected void onActivityResult(int requestCode、int resultCode、@Nullable Intent数据({super.onActivityResult(requestCode,resultCode,data(;如果(requestCode==REQUEST_CODE_STORAGE_ACCESS({

if (resultCode == Activity.RESULT_OK) {
// Get Uri from Storage Access Framework.
Uri treeUri = data.getData();
// Persist access permissions.
final int takeFlags = data.getFlags()
& (Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
getContentResolver().takePersistableUriPermission(treeUri, takeFlags);

DocumentFile pickedDir = DocumentFile.fromTreeUri(DocumentTreeActivity.this, treeUri);

DocumentFile rootDir = pickedDir.findFile("Images");
if (rootDir == null || !rootDir.exists()) {
rootDir = pickedDir.createDirectory("Images");

}

}}

我可以创建文件夹,我可以阅读&将文件从/写入文件夹。后来,在运行了cleaner(内置的Redmi note 8 pro(应用程序后,文件夹和文件被删除了。我怀疑文件夹是否检测到残留。任何人都请帮忙。原谅我糟糕的英语

我通过将文件夹的名称更改为应用程序名称以外的名称来解决这个问题。我不知道背后的逻辑/窍门。但它是有效的。

最新更新