Android: Cómo obtener archivos de imagen del directorio en view.setBackgroundDrawable ()

Estoy tratando de hacer una aplicación que pueda tomar imágenes de un directorio en el teléfono Android y mostrarlas en un diseño. Parece que estoy trabajando para encontrar una solución al revés. Sé usarview.setBackgroundDrawable(Drawable.createFromPath(String pathName)); para mostrar la imagen, pero no sé cómo obtener la ruta de la imagen desde el directorio.

Tengo una vaga idea de qué hacer, pero agradecería una aclaración sobre este asunto. Creo que el siguiente paso es usar:

String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state) || Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
    File file[] = Environment.getExternalStorageDirectory().listFiles();
}

Pero, ¿cómo filtro los archivos para que solo los archivos de imagen se almacenen en mifile[]? ¿Como archivos .png o .jpg / .jpeg? Y después de eso, ¿debería usarfiles[].getPath ofiles[].getAbsolutePath? Almacenaría el resultado en unaString[].

Lo que pido principalmente es la verificación de que el código anterior debería funcionar. Y también, cómo podría filtrar para almacenar solo archivos de imagen como.png, .jpg y.jpeg.

Gracias por tu tiempo

Respuestas a la pregunta(3)

Su respuesta a la pregunta