我试图用Intent
打开File
,但Android并未打开正确的文件类型应用程序。右mimeType用于打开文件
使用下面的代码,每一个文件 - PDF,图片,一切 - 打开与音乐应用程序:
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.fromFile(file));
startActivity(i);
当我手动指定mime类型,正确的应用程序打开 - 在这种情况下,图片查看器。
i.setDataAndType(Uri.fromFile(file), "image/*");
有什么办法让Android打开正确的应用程序,而不是从文件的扩展名手动设置类型?
但是,为什么Android不能自行确定正确的类型?意图引用声明类型为“指定意图数据的显式类型(MIME类型)”,通常该类型是从数据本身推断的,通过设置此属性,可以禁用该评估并强制显式类型。这对我的代码完全不起作用,所以它必须是错误的? – Gubbel 2010-12-08 15:24:01