![]() |
Datei in Android öffnen mit Intent schlägt teilweise fehl
Hallo,
ich öffne Dateien so:
Delphi-Quellcode:
das funktioniert mit allem was ich mir wünsche, txt, jpg, pdf, xlsx, xls, docx, doc, ...
...
filename := 'file://' + filename; Intent := TJIntent.Create; Intent.setAction(TJIntent.JavaClass.ACTION_VIEW); Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK); MimeType := getMimeType(StringToJString(filename)); Intent.setDataAndType(StrToJURI(filename), MimeType); TAndroidHelper.Activity.startActivity(Intent); aber nur solange der Dateiname keine Leerzeichen enthält. Bei einer Datei "Mein Test.txt" kommt die Meldung "Beim Parsen des Pakets ist ein Problem aufgetreten!" Wo liegt der Fehler? Ciao Stefan |
AW: Datei in Android öffnen mit Intent schlägt teilweise fehl
Hallo,
zumindestens bei Windows gibt man den Namen in Doppelhochkomma an. Hier ein ähnliches Problem und vielleicht die Lösung ![]() |
AW: Datei in Android öffnen mit Intent schlägt teilweise fehl
Hallo Heiko,
danke erst mal! Hochkomma bringen nichts und der Link ist auch nicht ganz die korrekte Lösung, hat mich aber darauf gebracht, dass man die Leerzeichen durch "%20" ersetzen muss. Ciao Stefan |
AW: Datei in Android öffnen mit Intent schlägt teilweise fehl
Hallo Stefan,
heisst das jetzt das es mit "%20" wie unten angegeben funktioniert ? |
AW: Datei in Android öffnen mit Intent schlägt teilweise fehl
Falls dem so ist, sollte man den ganzen String mittels einer URLEncode Funktion konvertieren, da evtl weitere Zeichen zu ersetzen sind. Frage nur, wo es so eine Methode gibt...
|
AW: Datei in Android öffnen mit Intent schlägt teilweise fehl
Hmm..
Gib bei Google einfach mal "Delphi URLEncode" und du landest gleich hier: ![]()
Delphi-Quellcode:
uses
IdURI; .. begin S := TIdURI.URLEncode(str); // S := TIdURI.URLDecode(str); end; |
AW: Datei in Android öffnen mit Intent schlägt teilweise fehl
Du hast recht, das Leerzeichen ist nicht alles, Umlaute machen natürlich auch Probleme!
Die ganzen Lösungen in dem Stackoverflow Link funktionieren leider nicht, die machen aus äöüß -> %E4%F6%FC%DF und das bringt die meldung, dass die Datei nicht geöffnet werden kann! Auch die ganzen UTF8Encode-Lösungen machen das Gleiche... Ich vermute, ich muss aus den Sonderzeichen 2-Bytes machen, aber wie? Ich habe hier "UTFbEncode" gefunden, das kennt mein Delphi aber nicht und Google bringt mich da auch nicht weiter :-( Ciao Stefan |
AW: Datei in Android öffnen mit Intent schlägt teilweise fehl
Guck mal hier:
![]() Du brauchst TJnet_Uri zum Umwandeln in einen URL. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:23 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