Android にインストールされているアプリケーションを検出し、そのアプリケーションでファイルを開くコードを作成しました。たとえば、Word 文書は Office apk で開く必要があります。
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
Uri data = Uri.fromFile(temp_file);
String type = getMimeType(temp_file.getName());
intent.setDataAndType(data, type);
this.startActivity(intent);
上記のコードで、 temp_fileは開く必要があるファイルです。以下は、MIME タイプを取得するために作成した一般化されたコードです。
public static String getMimeType(String url) {
String type = null;
String extension = MimeTypeMap.getFileExtensionFromUrl(url);
if (extension != null) {
MimeTypeMap mime = MimeTypeMap.getSingleton();
type = mime.getMimeTypeFromExtension(extension);
}
return type;
}
しかし、実行すると、android.content.ActivityNotFoundException例外がスローされます。だから、ここで何か間違ったことをしていますか?