2

インテントを通じて 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 を表示できるので、チェックするのをやめるべきですか?

4

1 に答える 1

3

インテントが操作できるはずの実際のデータを設定しないと、そのインテントをクエリできないと確信しています。

このリンクも同じ問題を扱っているようです。

于 2012-08-09T15:30:34.313 に答える