Как открыть папку "Мои файлы" в 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,

Итак, вам остается создать свою собственную активность выбора файлов. К счастью, есть много готовых:

http://code.google.com/p/android-filechooser/

https://developers.inkfilepicker.com/docs/android/

Вы должны специально указать имя пакета приложения проводника. Ниже приведен пример открытия определенной папки в 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); 
Другие вопросы по тегам