以编程方式在android中打开.msg文件(Outlook项目文件)

时间:2012-11-14 16:48:39

标签: android outlook

我正在尝试通过我的应用程序打开.MSG文件。我尝试将MIMETYPE设置为vnd.ms-outlook,仍然无法像我预期的那样打开.MSG文件,然后我尝试在电子邮件中附加相同的.MSG并在我的设备中打开。它像一个魅力打开。

所以我的问题是,如何在应用程序中以编程方式在android中打开.MSG文件。

尝试以下方法,

方法1:手动设置MIMETYPE

mimetype = "application/vnd.ms-outlook";

方法2:通过MimeTypeMap

获取MIMETYPE
String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(file).toString());
String mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension); // extension is msg

通过另一个已安装的应用程序打开.MSG文件

Log.i(TAG, "Extension :" + extension + "\n" + "MIME :" + mimetype); // Prints msg for extension and mimetype = application/vnd.ms-outlook for method 1 and null when i use method 2
intent.setDataAndType(Uri.fromFile(file),mimetype);
startActivity(intent);

方法2中的mimetype结果为null,并且显式设置的mimetype也不起作用。

有没有人可以分享他们对解决这个问题的想法。

感谢。

1 个答案:

答案 0 :(得分:2)

您应该使用意图使用其他应用程序打开该文件。试试这个:

Intent i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType(msgURI, mimeTypeString);
startActivity(i);

这应该允许任何在其清单中注册了MSG数据类型的应用程序打开它。