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.
Ok Leute, Problem gelöst!
Dies ist der Code, mit dem ich eine PDF-Datei öffne, die auf einem externen Speicher gespeichert ist:
%Vor% 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
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
:
Von: Zypern
Mit Assets-Ordner:
und hier ist der Code, wenn Sie dies mit Assets
Folder verwenden!
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
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;)
Mein Problem ist nach dem Hinzufügen dieser Berechtigung gelöst:)
%Vor%