0
String filename = Environment.getExternalStorageDirectory()+"/word.docx";
try{
File file = new File(filename);
Uri path = Uri.fromFile(file);
Intent viewDoc = new Intent(Intent.ACTION_VIEW);
Log.i(TAG, "mime type "+URLConnection.guessContentTypeFromName(filename).toString());
viewDoc.setDataAndType(path, URLConnection.guessContentTypeFromName(filename));
PackageManager pm = getPackageManager();
List<ResolveInfo> apps =
pm.queryIntentActivities(viewDoc, PackageManager.MATCH_DEFAULT_ONLY);
if (apps.size() > 0){
startActivity(viewDoc);
}
}catch(Exception e){
Log.i(TAG, "oh exception "+e.getMessage());
}
これは私のコードで、Android 2.1ではMIMEタイプが取得できません。そのログにはnullがあります。Android 2.1GuessContentTypeFromNameが機能しない
Android 2.3.3でも同じコードで同じアプリを入手できます。
私は/sdcard/word.docxを渡しています。それは大丈夫ですか? または私はこのようにファイル名://sdcard/word.docxを渡します – SkyWalker
いいえ、それはうまくいきませんでした。 – SkyWalker
file:///sdcard/word.docx - 3つの '/'を観察する:ファイルプロトコルの場合は2つ、ルートアクセスの場合は – Attila