0

アンドロイドアプリを作りました。拡張可能なリストを作成しました。子をクリックすると PDF が開きます。PDF が開いていません。no_application_found の内容であるメッセージ (「PDF を開けません」) が表示されます。PDFを開くためのコードは次のとおりです。

    public boolean onChildClick (
        ExpandableListView parent, 
        View v, 
        int groupPosition,
        int childPosition,
        long id) {
    Log.d( LOG_TAG, "onChildClick: " + childPosition );

    File file = new File("http://www.ratt.ro/grafice/e2-a.pdf");
    Uri path = Uri.fromFile(file);
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent.setDataAndType(path, getString(R.string.application_type));
    try 
    {
        startActivity(intent);
    } 
    catch (ActivityNotFoundException e) 
    {
        Toast.makeText(ElistCBox.this, 
            getString(R.string.no_application_found), 
            Toast.LENGTH_SHORT).show();
    }

    return false;
}
4

2 に答える 2

3

これは、Web ビューで PDF を開く方法です。

webview.loadUrl("http://docs.google.com/gview?embedded=true&url=http://www.ratt.ro/grafice/e2-a.pdf");
于 2012-04-24T11:01:37.820 に答える
1

リーダーで PDF ファイルを開くためのコードは次のとおりです。ユーザーが PDF リーダーを持っていない場合は、Google Play へのリンクを開いてダウンロードします。

void openpdf (String filename)

{
    String loc = "/sdcard/";
    File file = new File(loc+filename);
    Uri path = Uri.fromFile(file);
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setDataAndType(path, "application/pdf");
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

    try {
        startActivity(intent);
    } catch (Exception e) {

        e.printStackTrace();
        Toast.makeText(getApplicationContext(), "No pdf reader installed", Toast.LENGTH_SHORT).show();
        Intent market = new Intent(Intent.ACTION_VIEW);
        market.setData(Uri.parse("market://details?id=com.adobe.reader"));
        startActivity(market);
    }

}
于 2012-04-24T11:20:42.507 に答える