¿Lanzar un intento de archivo y tipo MIME?

He revisado todas las preguntas similares aquí, pero no puedo por mi vida averiguar qué estoy haciendo mal.

He escrito una aplicación que intenta lanzar varios archivos, una especie de buscador de archivos. Cuando se hace clic en un archivo, intenta iniciar el programa en función de su tipo MIME asociado o presenta el cuadro de diálogo "Elegir aplicación para iniciar".

Aquí está el código que estoy usando para lanzar:

    File file = new File(app.mediaPath() + "/" +_mediaFiles.get(position));

    Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW);

    String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(file).toString());
    String mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
    myIntent.setDataAndType(Uri.fromFile(file),mimetype);
    startActivity(myIntent);

Esto falla y genera el error:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file:///file:/mnt/sdcard/roms/nes/Baseball_simulator.nes }

Ahora, si instalo el Administrador de archivos OI, por ejemplo, se abre en lugar de que se lance este error, y luego, si hago clic en el mismo archivo desde dentro, lanza los diálogos correspondientes.

He notado que el tipo MIME para ese archivo en particular falla, pero otros tipos de mime como.zip devuelve valores.

¿Me falta algo que cuando el tipo MIME es nulo para llamar a un cuadro de diálogo que permite al usuario seleccionar?

He intentado otras variaciones de inicio de la aplicación, incluyendo no configurar el tipo MIME y solo usar.setData sin éxito

La acción que deseo que ocurra es que un usuario haga clic en un archivo, si está asociado con una aplicación que la aplicación inicia, si no, el usuario recibe el cuadro de diálogo "Completar acción usando" con una lista de aplicaciones.

Gracias por cualquier consejo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta