インテントを通じて PDF ファイルを開いています。有能なアプリケーションがインストールされているかどうかを事前に確認するために、次のコードを使用します。
PackageManager packageManager = context.getPackageManager();
Intent testIntent = new Intent(Intent.ACTION_VIEW);
testIntent.setType("application/pdf");
List<ResolveInfo> list = packageManager.queryIntentActivities(testIntent, PackageManager.MATCH_DEFAULT_ONLY);
return list.size() > 0;
これは私の Galaxy Nexus では問題なく動作しますが、Kindle Fire で実行するとリストが空になります。しかし、チェックをスキップすると、PDF は問題なく開かれます。どうして?
PDF の表示機能を確認する他の方法はありますか? (PDFはAPKアセットのフォルダに含まれており、表示できることがわかっている場合にのみデータフォルダにコピーしたい...)
それとも、ほとんどの Android デバイスはとにかく PDF を表示できるので、チェックするのをやめるべきですか?