2012-04-24 9 views
0

私はこのタイプの質問が何度も答えられていることを知っています。しかし私は自分の要求に合った答えを見つけることができません。AndroidクライアントにAdobe Readerをインストールする方法

Android版Adobe Readerがクライアントにインストールされているかどうかを知る必要があります。アプリケーションからのリーダーのインストールを開始してからPDF ...

が表示されない場合は、私は

はUをありがとう。..コードが評価されて流れ...一種のAndroid上で初心者です..

答えて

0

こんにちはクナルは見一部が正常に動作している

public static final String QUICK_OFFICE_URL = "https://market.android.com/search?q=quick+office&so=1&c=apps"; 
    public static final String QUICK_OFFICE_TRIAL_PACKAGE = "com.qo.android.am3.trial"; 
    public static final String QUICK_OFFICE_PACKAGE = "com.qo.android.am3"; 
    public static final String ADOBE_READER_URL="https://market.android.com/search?q=adobe+reader&so=1&c=apps"; 
    public static final String ADOBE_READER_PACKAGE="com.adobe.reader"; 
    public static final String DOCUMENTS_TO_GO_PACKAGE = "com.dataviz.docstogo"; 
    public static final String GOOGLE_DOCUMENT_PACKAGE ="com.google.android.apps.docs"; 
    public static final String OPEN_OFFICE_PACKAGE = "at.tomtasche.reader"; 
    public static final String BEAMREADER_PACKAGE = "com.slgmobile.beamreader"; 
    public static final String PDFVIEWER_PACKAGE = "mobi.mgeek.pdfviewer"; 
    public static final String ANDROID_PDF_VIEWER_PACKAGE = "net.sf.andpdf.pdfviewer"; 
    public static final String EZ_READER = "udk.android.reader"; 
    public static final String PDF_VIEWER = "com.dzepina.pdfviewer"; 
    private void openFileForReading(File file, String extension) { 
        Log.v(TAG, " openFileForReading(File file, String extension)"); 
        Intent intent = new Intent(); 
        intent.setAction(android.content.Intent.ACTION_VIEW); 
        if (extension.equalsIgnoreCase("pdf")) { 
         Log.v(TAG, " file extension is .pdf"); 
         if (appInstalledOrNot(Common.ADOBE_READER_PACKAGE) 
           || appInstalledOrNot(Common.BEAMREADER_PACKAGE) 
           || appInstalledOrNot(Common.PDF_VIEWER) 
           || appInstalledOrNot(Common.PDFVIEWER_PACKAGE) 
           || appInstalledOrNot(Common.EZ_READER)) { 
          intent.setDataAndType(Uri.fromFile(file), "application/*"); 
          startActivity(intent); 
         } else { 
          showAlertDialog(Common.ADOBE_READER_URL, file); 
         } 
        } else if (extension.equalsIgnoreCase("doc")) { 
         Log.v(TAG, " file extension is .doc"); 
         if (appInstalledOrNot(Common.QUICK_OFFICE_PACKAGE) 
           || appInstalledOrNot(Common.DOCUMENTS_TO_GO_PACKAGE) 
           || appInstalledOrNot(Common.GOOGLE_DOCUMENT_PACKAGE) 
           || appInstalledOrNot(Common.OPEN_OFFICE_PACKAGE)) { 
          intent.setDataAndType(Uri.fromFile(file), "application/*"); 
          startActivity(intent); 
         } else { 
          showAlertDialog(Common.QUICK_OFFICE_URL, file); 
         } 
        } else if (extension.equalsIgnoreCase("docx")) { 
         Log.v(TAG, " file extension is .docx"); 
         if (appInstalledOrNot(Common.QUICK_OFFICE_PACKAGE) 
           || appInstalledOrNot(Common.DOCUMENTS_TO_GO_PACKAGE) 
           || appInstalledOrNot(Common.GOOGLE_DOCUMENT_PACKAGE) 
           || appInstalledOrNot(Common.OPEN_OFFICE_PACKAGE)) { 
          intent.setDataAndType(Uri.fromFile(file), "application/*"); 
          startActivity(intent); 
         } else { 
          showAlertDialog(Common.QUICK_OFFICE_URL, file); 
         } 
        } else { 
         intent.setDataAndType(Uri.fromFile(file), "application/*"); 
         startActivity(intent); 
        } 
       } 
     private void showAlertDialog(final String uri, final File file) { 
       AlertDialog.Builder dialog = new AlertDialog.Builder(
         DocumentsActivity.this); 
       dialog.setTitle("No Application Found !!!"); 
       dialog.setMessage("Install App From Market"); 
       dialog.setPositiveButton("Yes", new DialogInterface.OnClickListener() { 

        @Override 
        public void onClick(DialogInterface arg0, int arg1) { 
         Intent intent = new Intent(Intent.ACTION_VIEW); 
         intent.setData(Uri.parse(uri)); 
         startActivity(intent); 
        } 
       }); 
       dialog.setNegativeButton("No", new DialogInterface.OnClickListener() { 

        @Override 
        public void onClick(DialogInterface dialog, int whichButton) { 
         Intent intent = new Intent(); 
         intent.setAction(android.content.Intent.ACTION_VIEW); 
         intent.setDataAndType(Uri.fromFile(file), "application/*"); 
         startActivity(intent); 
         dialog.cancel(); 
        } 
       }); 
       dialog.show(); 
      } 
    private boolean appInstalledOrNot(String packageName) { 
      PackageManager pm = getPackageManager(); 
      boolean app_installed = false; 
      try { 
       pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES); 
       app_installed = true; 
      } catch (PackageManager.NameNotFoundException e) { 
       app_installed = false; 
      } 
      return app_installed; 
     } 
+0

こんにちはShabbir、 Timが最初に答えを出しましたが、私はそれにコードが入っているので、答えを受け取ります...ありがとう... –

+0

こんにちはShabbir、コードがありますが、コンパイルエラーです... "Common"は何ですか? –

+0

Commonを削除してください。静的な文字列定数の上に、私のポイントを差し引いていただきありがとうございました。 –

0

あなたはリーダーがインストールされていない場合は、市場にリンクしたい場合は、あなたの活動にこの意図を発射することができます:PDFの表示

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

は少しトリッキーです:

Intent showPDFIntent = new Intent(); 
showPDFIntent.setPackage("com.adobe.reader"); 
showPDFIntent.setDataAndType(Uri.fromFile(myPDFFile), "application/pdf"); 
startActivity(showPDFIntent); 

私はこれが役に立ちそうです。私はhaventはので、私はあなたがそれを確認横断してくださいためのいくつかのコードを書かれている

幸運を祈り、 ティム

+0

それをテスト... –

関連する問題