これまでのところこの方法がありますが、何かが足りないように思いました
たとえば、false を返すファイル /sdcard/sound.3ga があります (このタイプのファイルを処理できるアクティビティがないなど) が、ファイル マネージャーからファイルを開くと、メディア プレーヤーで問題なく開きます。
このインテントは完全ではないと思います。このインテントを処理できるアクティビティがない場合にのみ、handlerExists 変数が false になることを確認するために、さらに何かを行う必要があります。
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;