今のところこの方法がありますが、何かが足りないように思いました
たとえば、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;