Einzelnen Beitrag anzeigen

TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
1.694 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: FMX : getContentResolver.query Crash und Jnet_Uri getPath

  Alt 30. Jan 2021, 13:53
Hallo,

diese _Data Spalte gab's bei mir auch nicht, aber ich hab' den woanders gefunden:

Delphi-Quellcode:
function TFileBrowser.HandleIntentAction(const Data: JIntent): boolean;
begin
  log.d('Pfad: ' + JStringToString(Data.getData.getPath));
end;
Nur: ab Android 10 hilft dir der Pfad möglicherweise nicht. Wenn der nämlich auf
einen Ordner wie TPath.GetPublicDownloadsPath zeigt hat man da so ohne weiteres
keine Zugriffsberechtigung mehr.

Was aber seltsamerweise geht ist das hier:

Delphi-Quellcode:
  InputStream := MainActivity.getContentResolver.openInputStream(Data.getData);
  log.d('Zeichen 1: ' + InputStream.read.ToString);
  InputStream.close;
Damit erzeugt man einen input stream aus dem Intent und der Schnippsel oben
liest das erste Zeichen dieses Streams und schreibt es ins Log.

Ich fände es halt toll wenn's doch eine Android 10/11 kompatible Methode gäbe
alle Dateien mit einer gewissen Endung die im TPath.GetSharedDownloadsPath
liegen und man auf die Lese/Schreibzugriff hätte. AQchließlich ist das ja ein
öffentlicher Ordner...
  Mit Zitat antworten Zitat