Tôi có phương pháp này cho đến nay, nhưng nó xuất hiện như một cái gì đó bị thiếuLàm thế nào để kiểm tra xem một mục đích có thể được xử lý từ một số hoạt động?
ví dụ tôi có tệp /sdcard/sound.3ga trả về false (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ở ra với trình phát đa phương tiện không có vấn đề
Tôi nghĩ ý định này chưa hoàn thành và tôi cần phải làm gì đó để đảm bảo rằng biến handlerExists sẽ là CHỈ nếu không có hoạt động nào có thể xử lý mục đích 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;
vâng tôi đã làm, nhưng nó sẽ trả về false, nó hoạt động giống như phương pháp của tôi cho đến nay :(, nó phải là cái gì mà thiếu – Lukap
đó là vì bạn quên: intent.setType ("text/plain"); –
cờ 0 là gì đây – RyPope