Откройте диспетчер файлов из приложения 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    
}
Другие вопросы по тегам