Ver contenido de la carpeta en Android usando el explorador predeterminado

Quiero iniciar un explorador de archivos por defecto para mostrar el contenido de una carpeta.

Estoy usando este código, pero se bloquea:

Uri startDir = Uri.fromFile(new File("/sdcard/DCIM/Camera")); Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setData(startDir); startActivity(intent); 

LogCat muestra "No Activity found to handle the Intent" …

¿Cuál es mi mejor opción para hacer esto? Quiero que el usuario vea el contenido de la carpeta y pueda hacer clic en los archivos (por ejemplo, hacer clic en un video y lanzarlo con el reproductor predeterminado, hacer clic en un PDF y abrirlo).

2 Solutions collect form web for “Ver contenido de la carpeta en Android usando el explorador predeterminado”

Desafortunadamente parece que no hay una forma estándar de hacerlo, estaba buscando exactamente lo mismo antes y no pude encontrar ninguna solución. Hay 2 métodos alternativos que podrían funcionar para usted:

1) Utilizar una intención general y dejar que el usuario escoger su administrador de archivos Esto es seguro y fácil, pero un poco lejos de lo que realmente queremos

 Uri startDir = Uri.fromFile(new File(Environment.getExternalStorageDirectory() .getAbsolutePath() + "/DCIM/Camera")); Intent intent = new Intent(); intent.setData(startDir); intent.setType("*/*"); intent.setAction(Intent.ACTION_VIEW); startActivity(intent); 

No utilice intent.setType("file/*"); , no es un tipo MIME estándar.

2) Utilizar los intentos específicos que los famosos gestores de archivos proporcionan Los administradores de archivos bien conocidos tienen sus propios filtros de intenciones personalizados que aceptan una ruta de directorio que permite una navegación sencilla. Algunos de ellos están aquí: OI file manager , ES Explorer

Tal vez usted podría comprobar si el usuario tiene estos gestores de archivos específicos instalados y luego utilizar esta solución, sino volver a la intención general.

Por ahora estas son las dos únicas opciones que tienes. Actualizaré este post si descubro alguna solución mejor.

Aunque no pude obtener el administrador de archivos OI para ir a un directorio específico, lo siguiente abre el OI File Manager directamente y va al último directorio en el que se encontraba.

 Intent importFileIntent = new Intent(); importFileIntent.setType( "file/*" ); // Does nothing. // Uri startingDir = Uri.fromFile( new File( // Environment.getExternalStorageDirectory().getAbsolutePath() + "/DCIM/Camera")); // importFileIntent.setData( startingDirectory ); importFileIntent.setAction( Intent.ACTION_GET_CONTENT ); // Ensure that there's an activity to handle the intent. if (importFileIntent.resolveActivity(getPackageManager()) == null) return; startActivityForResult(importFileIntent, REQUEST_FILE_IMPORT); 

Si alguien tiene más éxito, me encantaría escucharlo.

  • Cómo agregar un título a un video al compartir un video a través de WhatsApp mediante Intent
  • USER_PRESENT Propósito de GO Locker
  • Cómo abrir la aplicación youtube desde la aplicación android
  • Método de ContentValues ​​put
  • Comparación del uso del reconocimiento de voz en Android: por Intent o on-thread?
  • Realmente no obtener setResult y onActivityResult
  • Android-Libgdx, Llamando a Otra Actividad después de que el Juego comience en Button click
  • Xamarin - 'Android.Content.IntentFilter' no es una clase de atributo
  • Android - Intención Sniffing
  • Theme.NoDisplay crea un retraso de strage
  • Cómo hacer una intención con múltiples acciones
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.