我正在开发android中的文件浏览器应用程序。 如何处理扩展名未知的文件?当我尝试打开这种文件时,它抛出ActivityNotFound异常。但我希望系统弹出应用程序列表,以便我们可以手动选择要打开它的应用程序。 谁能在这帮助我?
我开始通过将文件及其扩展名绑定到intent来打开文件的活动。
Intent intent = new Intent(Intent.ACTION_VIEW);
MimeTypeMap mime = MimeTypeMap.getSingleton();
String ext = file.getName().substring(file.getName().lastIndexOf(".") + 1);
String type = mime.getMimeTypeFromExtension(ext);
intent.setDataAndType(Uri.fromFile(new File(file.toString())), type);
try
{
startActivity(intent);
}
catch(Exception e){}
答案 0 :(得分:4)
ActivityNotFound
。这意味着您要显示的应用列表将为空。
处理他的情况最合适的方法是捕获ActivityNotFound
异常,并显示一个Toast,通知用户没有适当的应用程序来打开该文件。
所有Android浏览器都以这种方式进行。
答案 1 :(得分:0)
我将在此处留下此链接,针对同一问题,并提供更多详细信息(第二个答案,阅读评论):Launching an Activity based on a file in android