AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Datei in Android öffnen mit Intent schlägt teilweise fehl
Thema durchsuchen
Ansicht
Themen-Optionen

Datei in Android öffnen mit Intent schlägt teilweise fehl

Ein Thema von skoschke · begonnen am 29. Mär 2019 · letzter Beitrag vom 2. Apr 2019
Antwort Antwort
skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#1

Datei in Android öffnen mit Intent schlägt teilweise fehl

  Alt 29. Mär 2019, 05:59
Hallo,

ich öffne Dateien so:
Delphi-Quellcode:
...
  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);
das funktioniert mit allem was ich mir wünsche, txt, jpg, pdf, xlsx, xls, docx, doc, ...
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
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Datei in Android öffnen mit Intent schlägt teilweise fehl

  Alt 29. Mär 2019, 06:14
Hallo,
zumindestens bei Windows gibt man den Namen in Doppelhochkomma an.

Hier ein ähnliches Problem und vielleicht die Lösung
https://stackoverflow.com/questions/...pened/39327116
Heiko

Geändert von hoika (29. Mär 2019 um 06:17 Uhr)
  Mit Zitat antworten Zitat
skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Datei in Android öffnen mit Intent schlägt teilweise fehl

  Alt 29. Mär 2019, 07:09
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
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.908 Beiträge
 
Delphi 12 Athens
 
#4

AW: Datei in Android öffnen mit Intent schlägt teilweise fehl

  Alt 29. Mär 2019, 11:59
Hallo Stefan,

heisst das jetzt das es mit "%20" wie unten angegeben funktioniert ?
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.824 Beiträge
 
Delphi 12 Athens
 
#5

AW: Datei in Android öffnen mit Intent schlägt teilweise fehl

  Alt 29. Mär 2019, 14:57
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...
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
961 Beiträge
 
Delphi 6 Professional
 
#6

AW: Datei in Android öffnen mit Intent schlägt teilweise fehl

  Alt 29. Mär 2019, 17:39
Hmm..

Gib bei Google einfach mal "Delphi URLEncode" und du landest gleich hier:

https://stackoverflow.com/questions/...ncode-function


Delphi-Quellcode:
uses
  IdURI;

..
begin
  S := TIdURI.URLEncode(str);
//
  S := TIdURI.URLDecode(str);
end;
  Mit Zitat antworten Zitat
skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Datei in Android öffnen mit Intent schlägt teilweise fehl

  Alt 1. Apr 2019, 08:19
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
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#8

AW: Datei in Android öffnen mit Intent schlägt teilweise fehl

  Alt 2. Apr 2019, 11:30
Guck mal hier:

https://www.delphipraxis.net/188372-...anwendung.html

Du brauchst TJnet_Uri zum Umwandeln in einen URL.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz