Tôi có phương pháp này cho đến nay, nhưng nó xuất hiện như thiếu một cái gì đó
ví dụ: tôi có một tệp /sdcard/sound.3ga trả về false (giống như không có hoạt động nào có thể xử lý loại tệp này), nhưng khi tôi mở nó từ trình quản lý tệp, nó sẽ mở bằng trình phát đa phương tiện mà không có vấn đề gì
Tôi nghĩ rằng ý định này chưa hoàn thành và tôi cần phải làm gì đó thêm để tự đảm bảo rằng biến handlerExists sẽ CHỈ là sai nếu không có hoạt động nào có thể xử lý ý định này
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;