到目前为止我有这种方法,但它出现的时候好像缺少了什么
例如,我有一个返回 false 的文件 /sdcard/sound.3ga (就像没有可以处理此类文件的活动一样),但是当我从文件管理器中打开它时,它会通过媒体播放器打开,没有问题
我认为这个意图并不完整,我需要做更多的事情来让我自己确保 handlerExists 变量只有在没有可以处理这个意图的活动时才会为假
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;