3

AndroidでPDFファイルをロードする方法を知っています。ただし、複数の PDF ビューアがインストールされている場合、Android は選択するリストを表示します。特定の PDF ビューアー (DroidReader など) を使用して PDF ファイルを読み込みたい。これを行う方法?

4

2 に答える 2

2

受け入れられた回答が推奨するように、インテントで明示的なクラス名を指定しないことを強くお勧めします。これは、いつでも変更できるアプリの実装の詳細であるためです。

代わりに、通常のようにインテントを作成しますが、Intent.setPackage() を使用して、システムが一致するアクティビティに対して目的のアプリのパッケージ名のみを検索するように指定します。あれは:

Intent intent = new Intent(Intent.ACTION_VIEW, uriToView);
intent.setPackage("com.package.name.of.droidreader");
startActivity(intent)
于 2011-01-18T05:43:54.553 に答える
1

次に、アクティビティの完全な名前を指定します。

    Intent intent = new Intent();
    ComponentName comp = new ComponentName("com.package.name.of.droidreader", "com.package.name.of.droidreader.DroidReader");
    intent.setComponent(comp);
    startActivity(intent);

パッケージ名とアクティビティが何であるかを知るには、出力を見ることができadb logcatます。アクティビティを開くと、そこにログが記録されます。そしてもちろん、DroidReader がどのファイルを開くかを認識できるように、インテントを正しく構成します。

startActivity最後に重要なことですが、メソッドをtry-catchキャッチするブロックで囲む必要がありますActivityNotFoundException(ほとんどの携帯電話にはその特定のアプリがないと確信しています)。

于 2011-01-18T05:13:28.977 に答える