![]() |
Meine erstellte Datei kann nicht geöffnet werden
Hallo,
in einer Android App wird ein PDF erzeugt und kann auch in der Anwendung geöffnet und angezeigt werden. Nun möchte ich dem Benutzer zusätzlich die Möglichkeit geben, dieses PDF im Handy mit einer App seiner Wahl anzeigen zu lassen un sie z.B. drucken zu können:
Delphi-Quellcode:
procedure ShowPDF();
{$IFDEF ANDROID} var Intent: JIntent; {$ENDIF} begin {$IFDEF ANDROID} if fileexists(pdffilename) = false then begin showmessage(pdffilename + ' nicht gefunden !'); exit; end; Intent := TJIntent.Create; Intent.setAction(TJIntent.JavaClass.ACTION_VIEW); Intent.setDataAndType(StrToJURI('file://' + pdffilename), StringToJString('application/pdf')); TAndroidHelper.Activity.startActivity(Intent); exit; {$ENDIF} showmessage('Diese Funktion ist in Windows nicht verfügbar !'); end; Leider meldet mir die aufgerufene App "Datei kann nicht geöffnet werden", warum? Ein Zugriff auf dieses PDF ist definitiv im Programm nicht mehr vorhanden, es liegt allgemein zugänglich unter 'Phone/Documents' Hat jemand einen hilfreichen Tip? Ciao Stefan |
AW: Meine erstellte Datei kann nicht geöffnet werden
Wie siehts mit den Dateirechten aus ? bzw. den Attributen ?
|
AW: Meine erstellte Datei kann nicht geöffnet werden
Da ist nichts besonderes, schiebe ich mein Programm auf dem Handy in den Hintergrund, öffne z.B. den Dateimanager, kann ich das PDF problemlos mit der gewünschten App anzeigen!
Ciao Stefan |
AW: Meine erstellte Datei kann nicht geöffnet werden
Ich habe ein neues Handy (Android 6.0.1) wo das Problem auftritt.
Ich habe das Programm jetzt mal auf einem älteren Tablet (Android 5.0.2) installiert, da klappt das Anzeigen aus dem Programm heraus problemlos! Also hat sich zu Android 6.0.1 etwas geändert, ich habe aber keinerlei Ahnung wo ich jetzt ansetzen könnte! Ciao Stefan Nachtrag: Auch mit den Pfaden habe ich herumprobiert, GetPublicPath, direkt ins Root der SD-Karte, irgendwas stimmt m.E. mit den Berechtigungen nicht, ich habe immer weniger Hinweise wo ich noch suchen könnte! Und was ich noch nachgesehen habe: der Dateimanager pro zeigt als Berechtigungen "-rw" an, das ist meiner Meinung nach korrekt, oder? |
AW: Meine erstellte Datei kann nicht geöffnet werden
Das Problem ist inzwischen aus einem anderen Licht zu sehen:
Es ist völlig egal, ob die PDF-Datei von meiner App erstellt oder eine ganz andere fremde Datei ist, ich bekomme von der im Intent aufgerufenen App (und da ist wieder egal welche PDF-App ich auswähle) die Fehlermeldung "Datei konnte nicht geöffnet werden" Es ist auch egal ob ich diese Dateien in SharedDocumentsPath oder SharedDownloadsPath liegen habe, ein vorgeschaltetes FileExists hat keine Probleme, die Datei ist also dort vorhanden und auffindbar! Wo kann ich jetzt weitersuchen? Und wie gesagt, auf meinem alten 5.0.2 er Android Handy hatte ich keine Probleme, die sind jetzt erst mit Android 6.0.1 aufgetreten! Ciao Stefan |
AW: Meine erstellte Datei kann nicht geöffnet werden
So, nach stundenlangem Probieren habe ich weitere Erkenntnisse:
Wenn ich die PDF-Datei durch eine MP3-Datei ersetze und mit folgendem Intent starte funktioniert es auch auf Android 6.0.1:
Delphi-Quellcode:
Was ist denn nun mit meinen PDF's bzw. den Viewern los???
fn := TPath.GetSharedDownloadsPath + PathDelim + 'test.mp3';
if fileexists(fn) = false then begin showmessage(fn + ' nicht gefunden !'); exit; end; fn := 'file://' + fn; Intent := TJIntent.Create; Intent.setAction(TJIntent.JavaClass.ACTION_VIEW); Intent.setDataAndType(StrToJURI(fn), StringToJString('audio/*')); // Intent.setDataAndType(StrToJURI(fn), StringToJString('application/pdf')); Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK); TAndroidHelper.Activity.startActivity(Intent); Ciao Stefan |
AW: Meine erstellte Datei kann nicht geöffnet werden
Versuch mal testhalber, die Datei ins Temp-Verzeichnis (TPath.Combine(TPath.GetTempPath, Dateiname)) zu kopieren und von dort zu öffnen. Ich kann mich erinnern, dass ich auch schon ähnliche Probleme hatte.
|
AW: Meine erstellte Datei kann nicht geöffnet werden
Nach 2 Tagen vergeblicher Suche habe ich jetzt die Lösung, aber bitte nicht schlagen ;-)
Wenn Defaultprogramm gelöscht, dann bietet Android ja alle Apps an die PDF öffnen können, unter anderem eine App namens "PDF-Viewer" und blau weißem Icon und die habe ich auf meinem ersten Handy immer verwendet, also warum nicht auf dem zweiten auch? Nachdem diese App aber unter Android 6.0.1 immer "Datei kann nicht geöffnet werden" brachte habe ich angefangen in dieser Richtung weiterzusuchen, im Handy unter Einstellungen/Anwendungsprogramme aber habe ich dieses Programm und sein Icon aber nicht gefunden... Also zum Playstore/Meine Apps, auch dort kein Programm mit dem angezeigten Icon, weder unter installierte noch unter den übrigen... In der Handy-App-Übersicht findet sich das Icon ebenfalls nicht, ABER ein ähnliches, und zwar von DropBox! Die lässt sich nicht deinstallieren, aber deaktivieren, also weg damit! Starte ich jetzt einen Intent um PDF anzuzeigen, ist das "PDF-Viewer-Dropbox-App" nicht mehr dabei und alle anderen (Foxit Reader, Adobe, ... ) öffnen nun klaglos jedes PDF :-))))))))))))))) Problem gelöst und 2 Tage "sinnlos verballert" :-( Ciao Stefan |
AW: Meine erstellte Datei kann nicht geöffnet werden
Willkommen im Club der verballerten Tage :lol:
Heisst das jetzt das diese DropBox Viewer App auch die andenen Apps negativ beeinflusst hat ? Rollo |
AW: Meine erstellte Datei kann nicht geöffnet werden
Sieht zumindest für mich ganz danach aus :-(
Ciao Stefan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz