到目前为止,我已经有了这种方法,但是好像缺少了一些东西
例如,我有一个文件/sdcard/sound.3ga返回false(例如没有活动可以处理这种类型的文件),但是当我从文件管理器中打开它时,它可以与媒体播放器一起正常打开
我认为这个意图还不完整,我需要做更多的事情来确保只有没有活动可以处理这个意图时,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;