Ich habe diese Methode bisher, aber es kam auf, als ob etwas fehlt
Zum Beispiel habe ich eine Datei /sdcard/sound.3ga, die false zurückgibt (als ob es keine Aktivität gibt, die diesen Dateityp verarbeiten kann). Wenn ich sie jedoch über den Dateimanager öffne, wird sie problemlos mit dem Media Player geöffnet
Ich denke, diese Absicht ist nicht vollständig und ich muss etwas mehr tun, um selbst sicherzustellen, dass die Variable handlerExists NUR dann falsch ist, wenn es keine Aktivität gibt, die diese Absicht verarbeiten kann
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;