Eu tenho esse método até agora, mas surgiu como se algo estivesse faltando
por exemplo, eu tenho um arquivo /sdcard/sound.3ga que retorna falso (como se não houvesse nenhuma atividade que pudesse lidar com este tipo de arquivo), mas quando eu o abro no gerenciador de arquivos ele abre com o reprodutor de mídia sem problemas
Acho que esse intent não está completo e preciso fazer algo mais para ter certeza de que a variável handlerExists será falsa SOMENTE se não houver atividade que possa lidar com esse intent
PackageManager pm = getPackageManager();
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(new File(uriString)).toString());
String mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
intent.setDataAndType(Uri.fromFile(new File(uriString)),mimetype);
boolean handlerExists = intent.resolveActivity(pm) != null;