Как открыть папку "Мои файлы" в Android программно (с помощью Intent)?
Я использую приведенный ниже код, который открывает галерею, музыкальный проигрыватель, Dropbox и контакты, я хочу, чтобы папка "Мои файлы" открывалась программно, пожалуйста, дайте мне знать, если есть какие-то конкретные намеренные параметры, которые мне нужно передать, чтобы получить диспетчер файлов открыть.
если это невозможно из-за намерения, тогда, пожалуйста, дайте мне фрагмент или подсказку, чтобы программно открыть папку "Мои файлы".
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
Intent i = Intent.createChooser(intent, "View Default File Manager");
startActivityForResult(i, CHOOSE_FILE_REQUESTCODE);
Благодарю.
6 ответов
Вы можете использовать этот код для подачи файлов.
int PICKFILE_RESULT_CODE=1;
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("file/*");
startActivityForResult(intent,PICKFILE_RESULT_CODE);
это поможет вам просматривать файлы из вашего хранилища.
Лучше всего, чтобы вы включили в свой проект библиотеку, которая обрабатывает этот сценарий.
Это сработало для меня:
В этой библиотеке отображается список сторонних приложений. Он также имеет свой собственный файловый браузер для выбора файлов.
Если вы хотите открыть приложение samsung My Files, попробуйте следующий код.
Intent intent = new Intent("com.sec.android.app.myfiles.PICK_DATA");
intent.putExtra("CONTENT_TYPE", "*/*");
startActivityForResult(intent, CHOOSE_FILE_REQUESTCODE);
Плохо то, что большинство дистрибутивов Android могут или не могут поставляться с файловым менеджером, и даже в этом случае, может быть, не тот, который обрабатывает CHOOSE_FILE_REQUESTCODE
,
Итак, вам остается создать свою собственную активность выбора файлов. К счастью, есть много готовых:
Вы должны специально указать имя пакета приложения проводника. Ниже приведен пример открытия определенной папки в ES Explorer.
public void openfolderInexplorer(String path){
Intent intent = this.getPackageManager().getLaunchIntentForPackage("com.estrongs.android.pop");
if (intent != null) {
// If the application is avilable
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Uri uri = Uri.parse(path);
intent.setDataAndType(uri, "resource/folder");
this.startActivity(intent);
} else {
// Play store to install app
intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(Uri.parse("market://details?id=" +
"com.estrongs.android.pop"));
this.startActivity(intent);
}
Попробуйте этот код ниже. если какой-либо файловый менеджер доступен, то он появится в виде меню, чтобы выбрать подходящий для пользователя.
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("file/*");
startActivityForResult(intent, CHOOSE_FILE_REQUESTCODE);