1

すでにSDカードにダウンロードしたPDFファイルを開きたいです。しかし、インテントを介してそのファイルを開くと、このインテントを処理するアクティビティが見つからないというエラーが表示されます。アプリケーションで PDF リーダーまたはその他の方法で PDF を開きたい。可能であれば、pdf を開くためのより良い解決策を提案してください。

    PackageManager packageManager = getPackageManager();
    Intent pdf= new Intent(Intent.ACTION_MAIN);
                                    pdf.addCategory("android.intent.category.LAUNCHER");
                                    pdf.setPackage("com.adobe.reader");
                                    pdf.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                                    pdf.setDataAndType(Uri.fromFile(pdfPath),"application/pdf");
pdf.setData(Uri.parse( Environment.getExternalStorageDirectory().toString() + "/downloadedfile.pdf"));

これで私を助けてください。

4

1 に答える 1

1

ここで解決策を見つけました.. Adob​​e pdfリーダーで開いています。Adobe Reader がインストールされていない場合、Google Play にリダイレクトされます。

private void viewPdf(Uri file){
    Intent intent;
    intent = new Intent(Intent.ACTION_VIEW);
    intent.setDataAndType(file, "application/pdf");
    try{
    startActivity(intent);
    }catch(ActivityNotFoundException e){
    AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());
    builder.setTitle("No Application Found");
    builder.setMessage("Download from Android Market?");
    builder.setPositiveButton("Yes, Please", new DialogInterface.OnClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which) {
    // TODO Auto-generated method stub

    Intent marketIntent = new Intent(Intent.ACTION_VIEW);
    marketIntent.setData(Uri.parse("market://details?id=com.adobe.reader"));
    startActivity(marketIntent);

    }
    });
    builder.setNegativeButton("No, Thanks", null);
    builder.create().show();

    }
于 2012-11-06T07:32:16.880 に答える