2016-11-01 3 views
0

Ich möchte eine PDF-Datei öffnen (die in Downloads Ordner in Android-Handy verfügbar ist) während auf klicken Sie auf die "pdfButton" Während der Durchführung der Aktion passiert nichts, gibt es entweder nein Fehler protokolliert oder PDF-Datei wird angezeigt. Könnte jemand bitte helfen?PDF-Datei öffnet nicht in Android

package com.mycompany.myfirstglapp; 
import android.app.Activity; 
import android.content.ActivityNotFoundException; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 
import android.os.Environment; 
import android.util.Log; 
import android.view.SurfaceView; 
import android.webkit.WebView; 
import android.widget.Toast; 
import java.io.File; 

/** 
* Created by admin on 1/11/2016. 
*/ 

public class PdfActivity extends Activity { 
    private SurfaceView surface; 
    Button pdfButton; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_pdf); 
     surface = (SurfaceView) findViewById(R.id.pdfSurface); 
     pdfButton = (Button) findViewById(R.id.pdfView); 

     pdfButton .setOnClickListener(new View.OnClickListener() { 
       public void onClick(View view) { 
        // On click will call the showPdf method to display the pdf file in sd card or downloads 

        showPdf(view); 
       } 
      }); 



    } 


    public void showPdf(View view) { 

     // The pdf file [LawsofthegamewebEN_Neutral.pdf] is avaialble in Android > Downloads folder. 

     File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+ "/LawsofthegamewebEN_Neutral.pdf"); 

     if (file.exists()) { 
      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 (ActivityNotFoundException e) { 
       Toast.makeText(PdfActivity.this, 
         "No Application Available to View PDF", 
         Toast.LENGTH_SHORT).show(); 
      } 
     } 

    } 



} 

Antwort

1

Wenn Sie den Code mit Ihrem Debugger Schritt oder mehr Logging-Anweisungen setzen in vermute ich, dass Sie, dass file.exists() kehrt false finden. Und im Moment tun Sie in diesem Fall nichts.

Ich möchte eine PDF-Datei öffnen (die im Download-Ordner in Android-Handy verfügbar ist)

Das ist nicht, wo Ihr Code sucht. Ersetzen:

File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+ "/LawsofthegamewebEN_Neutral.pdf"); 

mit:

File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "LawsofthegamewebEN_Neutral.pdf"); 

Beachten Sie auch, dass Ihr file.exists() Anruf bedeutet, dass Sie die READ_EXTERNAL_STORAGE Erlaubnis halten müssen.

+0

Ich werde versuchen und das Ergebnis posten – soccerway

+0

Behebung des Problems :) – soccerway

Verwandte Themen