Я хочу преобразовать File
(/storage/A54E-14E9/bp.mp4
) в DocumentFile
Uri
из DocumentFile
должно быть content://com.android.externalstorage.documents/tree/A54E-14E9%3A/document/A54E-14E9%3Abp.mp4
, но при использовании DocumentFile.fromFile(file).getUri()
он возвращает не правильно Uri
:
file:///storage/A54E-14E9/bp.mp4
Так что это отличается от того, когда вы получаете его в onActivityResult
после вызова startActivityForResult(new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE), REQUEST_CODE_STORAGE_ACCESS);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE_STORAGE_ACCESS && resultCode == RESULT_OK) {
Uri treeUri = data.getData();
mDocumentDir = DocumentFile.fromTreeUri(this, treeUri);
for (DocumentFile file : mDocumentDir.listFiles()) {
// one of them is content://com.android.externalstorage.documents/tree/A54E-14E9%3A/document/A54E-14E9%3Abp.mp4
Log.i(TAG, file.getUri());
}
}
}
или если это невозможно, то какчтобы найти то, что равно File
(/storage/A54E-14E9/bp.mp4
) в:
// in onActivityResult
for (DocumentFile file : mDocumentDir.listFiles()) {
Log.i(TAG, file.getUri());
}
просто не рекомендуется проверять имена файлов, мне нужно проверять абсолютные пути (если они равны), также файл может бытьпомещен в подфодлер, что усложняет задачу
Моя задача - удалить File
с карты MicroSD , это можно сделать с помощью DocumentFile
после запроса хранилища (ACTION_OPEN_DOCUMENT_TREE
)но мне нужно как-то получить право DocumentFile
, что равно моему File