我正在尝试通过我的应用程序打开.MSG文件。我尝试将MIMETYPE设置为vnd.ms-outlook
,仍然无法像我预期的那样打开.MSG文件,然后我尝试在电子邮件中附加相同的.MSG并在我的设备中打开。它像一个魅力打开。
所以我的问题是,如何在应用程序中以编程方式在android中打开.MSG文件。
尝试以下方法,
方法1:手动设置MIMETYPE
mimetype = "application/vnd.ms-outlook";
方法2:通过MimeTypeMap
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也不起作用。
有没有人可以分享他们对解决这个问题的想法。
感谢。
答案 0 :(得分:2)
您应该使用意图使用其他应用程序打开该文件。试试这个:
Intent i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType(msgURI, mimeTypeString);
startActivity(i);
这应该允许任何在其清单中注册了MSG数据类型的应用程序打开它。