Откройте диспетчер файлов из приложения Android
Как я могу перенаправить свое приложение, чтобы открыть файловый менеджер по определенному пути?
Я пробовал что-то вроде:
Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setType("*/*");
shareIntent.putExtra(Intent.EXTRA_STREAM,
Uri.fromFile(new File(filePath)));
shareIntent.setPackage("my.package");
startActivity(shareIntent);
Но я продолжаю получать ошибку:
E / AndroidRuntime (3591): android.content.ActivityNotFoundException: не найдено действие для обработки Intent {act = android.intent.action.SEND typ =/ flg = 0x1 pkg = my.package (есть клип) (есть дополнения) }
Каков правильный фильтр намерений, так как я подозреваю, что ACTION_SEND не правильный.
Спасибо.
1 ответ
Решение
Ты можешь использовать Intent.ACTION_GET_CONTENT
:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
Uri uri = Uri.parse("/whatever/path/you/want/"); // a directory
intent.setDataAndType(uri, "*/*");
startActivity(Intent.createChooser(intent, "Open folder"));
На самом деле сейчас это больше похоже на:
// Construct an intent for opening a folder
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(aDownloadFolder), "resource/folder");
// Check that there is an app activity handling that intent on our system
if (intent.resolveActivityInfo(aContext.getPackageManager(), 0) != null) {
// Yes there is one start it then
startActivity(intent);
} else {
// Did not find any activity capable of handling that intent on our system
// TODO: Display error message or something
}