私はPDFに取り組んでいます。以下のコードを使用して、アプリケーションからPDFファイルを開こうとしています。しかし、私は開くことができませんでした。
private void openPdf() {
File file = new File("mnt/sdcard.test.pdf");
Uri path = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setAction(Intent.ACTION_VIEW);
intent.setData(path);
intent.setType("application/pdf");
try {
startActivity(intent);
} catch (ActivityNotFoundException e) {
Toast.makeText(getActivity(), "No application found",
Toast.LENGTH_SHORT).show();
}
}
このコードをエミュレーターで試してみると、「アプリケーションが見つかりません」というトーストが表示されます(bcoz、通常、エミュレーターにはpdf表示アプリケーションがインストールされていません)。同じことをデバイス(特にfunbookタブとsonyタブ)でテストしたところ、Toastメッセージが表示されず、pdfファイルも開かれませんでした。誰かが私のコードの間違いを指摘できますか?実際、私は初めてpdfを使用しています。だから私の質問は、
- デバイスでは、トーストメッセージが表示されませんでした。つまり、携帯電話にPDF表示アプリケーションがインストールされていますか?正しいですか?
- もしそうなら、なぜpdfはサードパーティのアプリケーションを使用して開かれません。
- 携帯電話にインストールされているすべてのPDF表示アプリケーションをユーザーに一覧表示したい場合、このコードにどのような変更を加える必要がありますか?