1

アプリケーションで .MSG ファイルを開こうとしています。MIMETYPE を に設定してみましたがvnd.ms-outlook、期待どおりに .MSG ファイルを開くことができませんでした。同じ .MSG を電子メールに添付して、デバイスで開いてみました。それは魅力のように開きました。

だから私の質問は、アプリケーション内でプログラムによってAndroidで.MSGファイルを開くにはどうすればよいですか。

次の方法で試してみましたが、

方法 1 : MIMETYPE を手動で設定する

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

方法 2 : MIMETYPE を取得する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 の MIME タイプは null になり、明示的に設定された MIME タイプも機能しません。

この問題を解決するための考えを共有できますか。

ありがとう。

4

1 に答える 1

2

別のアプリでファイルを開くには、インテントを使用する必要があります。これを試して:

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

これにより、MSG のデータ型をマニフェストに登録しているすべてのアプリで、MSG を開くことができるようになります。

于 2012-11-14T17:06:10.170 に答える