PDF-Datei kann nicht in der externen App geöffnet werden

8

Ich möchte eine PDF-Datei öffnen, wenn der Benutzer auf eine Schaltfläche klickt. Derzeit verwende ich diesen Code, um dies zu erreichen:

%Vor%

aber es funktioniert nicht.

Wenn ich Adobe Acrobat verwenden möchte, erhalte ich eine Nachricht, die als Toast angezeigt wird und

lautet %Vor%

Wenn ich es mit Drive PDF Viewer versuche, erhalte ich

%Vor%

Die PDF-Datei wird in

gespeichert %Vor%

Wo ist das Problem?

BEARBEITEN

Jetzt verwende ich den folgenden Code:

%Vor%

Aber wenn ich versuche, das PDF zu öffnen, indem ich auf die Schaltfläche klicke, stürzt die App ab.

Dies ist das Protokoll, das ich bekomme:

%Vor%

Das ist meine Klasse:

%Vor%

}

Kann mir jemand helfen?

BEARBEITEN 2

Ich habe die Lösung gefunden, überprüfen Sie meine Antwort unten für den Code.

Vielen Dank für Ihre Antworten.

    
Andrey Vedishchev 30.05.2015, 18:24
quelle

6 Antworten

7

Ok Leute, Problem gelöst!

Dies ist der Code, mit dem ich eine PDF-Datei öffne, die auf einem externen Speicher gespeichert ist:

%Vor%     
Andrey Vedishchev 31.05.2015, 12:36
quelle
3

Apps von Drittanbietern können nicht über file:///android_asset URLs auf Ihre Assets zugreifen.

Sie können:

  • Versuchen Sie, my StreamProvider zu verwenden, um eine ContentProvider in Ihrer App zu haben, die die PDF direkt aus Assets oder

  • Verwenden Sie FileProvider aus dem Android Support-Paket, nachdem Sie die Datei von den Assets in den internen Speicher kopiert haben, wie in diese Beispielanwendung oder

  • Kopieren Sie die Datei in den externen Speicher und verwenden Sie Uri erstellt von Uri.fromFile() , um auf diese Kopie zu zeigen

CommonsWare 30.05.2015 18:37
quelle
2

Setting Daten als "file:///" + filePath ausgearbeitet für mich.

%Vor%     
Sushant 30.07.2015 11:51
quelle
1

Fügen Sie diese Berechtigung hinzu und überprüfen Sie erneut:

%Vor%

es scheint, gibt es ein Problem mit dem Zugriff auf die Datei.

Versuchen Sie, eine andere PDF-Datei zu öffnen, und lassen Sie uns wissen, was Log ist.

und ich denke auch, dass du das nicht benutzen kannst: file:///android_asset

und sieh dir das an:

Wählen Sie die Datei mit ExternalStorageDirectory :

%Vor%

Von: Zypern

Mit Assets-Ordner:

und hier ist der Code, wenn Sie dies mit Assets Folder verwenden!

%Vor%

und fügen Sie dann die obige Berechtigung hinzu und überprüfen Sie sie erneut mit dem Anlagencode. Überprüfen Sie dies auch: https://stackoverflow.com/q/28032029/4945820

    
developerdroid 30.05.2015 18:39
quelle
0

Ich hatte das gleiche Problem, nach stundenlangem Umgang mit dem Problem wurde mir klar, dass ich es vermisste, zwischen Dateipfad und Dateiname "/" hinzuzufügen.

Also die Datei wurde nicht gefunden und ich habe "Diese Datei konnte nicht zugegriffen werden Überprüfen Sie den Standort oder das Netzwerk und versuchen Sie es erneut." Nachricht.

Hoffen Sie, dass das jemandem hilft;)

    
Reza 07.05.2017 05:38
quelle
0

Mein Problem ist nach dem Hinzufügen dieser Berechtigung gelöst:)

%Vor%     
VINDHYA SHARMA 03.02.2018 08:19
quelle

Tags und Links