1

いくつかの Q/A を読んだ後でも、現在の問題に対する適切な回答が見つかりません。

/res/raw フォルダーに保存されている pdf ファイル (コンパイル時に既知) があります。

次を使用してファイルをロードしようとしました:

InputStream is = getResources().openRawResource(R.raw.mypdf);

次に、デバイス上の優先 pdf リーダーを使用して (インテントで) pdf を表示したいと思います。

Intent i;
i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType(file,"application/pdf");
startActivity(i);

問題は、私のpdfが「InputStream」として読み取られる一方で、インテントがタイプ「ファイル」を受け取ることです。

質問は次のとおりです。pdfファイルを表示するにはどうすればよいですか? つまり、InputStream を表示するにはどうすればよいですか? または、new File()で開くことができるようにpdfファイルを保存するにはどうすればよいですか?

4

2 に答える 2

1

これを試してみてください..
//試すためにPDFをアセットフォルダーに配置します

Uri file= Uri.parse("file:///android_asset/mypdf.pdf");
  String mimeType =  MimeTypeMap.getSingleton().getMimeTypeFromExtension(MimeTypeMap.getFileExtensionFromUrl(file.toString()));

try{
     Intent i;
     i = new Intent(Intent.ACTION_VIEW);
     i.setDataAndType(file,mimeType);
     startActivity(i);

}catch (ActivityNotFoundException e) {
                    Toast.makeText(this, 
                        "No Application Available to fiew this file type", 
                        Toast.LENGTH_SHORT).show();
                } 
于 2012-04-12T12:17:46.453 に答える