我已经在这里回顾所有类似的问题,但我不能为我的生命找出我做错了什么。
我已经写了尝试推出各种文件,排序的文件浏览器的应用程序。 当点击一个文件,它会尝试推出基于其相关联的MIME类型的程序或它提出的“选择应用程序启动”对话框。
下面是我使用启动代码:
File file = new File(app.mediaPath() + "/" +_mediaFiles.get(position));
Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW);
String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(file).toString());
String mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
myIntent.setDataAndType(Uri.fromFile(file),mimetype);
startActivity(myIntent);
这种失败并生成错误:
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file:///file:/mnt/sdcard/roms/nes/Baseball_simulator.nes }
现在,如果我安装OI文件管理器的情况下,它会打开,而不是被抛出这个错误,然后如果我从内点击它同一个文件,它会启动选择恰当的对话。
我注意到的MIME类型特定的文件失败,但其他MIME类型类似.zip
做返回值。
我缺少的东西,当MIME类型为null调用一个对话框,让用户选择?
我试着启动应用程序,包括不设置MIME类型,并只能通过其他的变化.setData
没有成功。
我希望发生的动作是,用户点击一个文件,如果它与应用程序启动,如果没有,用户“使用的应用”对话框,应用程序的列表,获取应用程序相关联。
感谢您的任何意见。