AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung FileExists funktioniert nicht bei Android?
Thema durchsuchen
Ansicht
Themen-Optionen

FileExists funktioniert nicht bei Android?

Ein Thema von skoschke · begonnen am 13. Sep 2022 · letzter Beitrag vom 13. Sep 2022
Antwort Antwort
Seite 2 von 2     12   
skoschke

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

AW: FileExists funktioniert nicht bei Android?

  Alt 13. Sep 2022, 15:41
Zitat:
Schau mal bei KodeZwerg im 2. Beitrag, kann es nicht doch an Berechtigungen liegen ?
Vielleicht mal checken ob das Verzeichnis erreichbar ist.
Volltreffer!
Android 12 zusammen mit meinem aktuellen Delphi 11.2 scheint mir das Schreiben in TPath.GetSharedDownloadsPath zu verbieten!
Dass dann aber die irreführende Meldung "File always exists" kommt ist ja nicht witzig!

Ich muss aber in das allgemeine Downloadverzeichnis schreiben, nur wie stellt man das an, dafür sollte doch das GetSharedDownloadsPath da sein?

Ciao
Stefan
  Mit Zitat antworten Zitat
Rollo62

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

AW: FileExists funktioniert nicht bei Android?

  Alt 13. Sep 2022, 16:02
Ich muss aber in das allgemeine Downloadverzeichnis schreiben, nur wie stellt man das an, dafür sollte doch das GetSharedDownloadsPath da sein?
Das war mal möglich wird aber von Version zu Version von Android immer stärker reglementiert.
Schau mal hier unter "Scoped storage", das ist wohl das was Android noch erlaubt.
Wenn Du Vollzugriff haben willst wirst Du spezielle Berechtigungen abfragen müssen und Google wird Dir beim Review ordentlich auf die Füsse treten, bzw. genau abfragen was Du damit genau machen willst.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.088 Beiträge
 
Delphi 12 Athens
 
#13

AW: FileExists funktioniert nicht bei Android?

  Alt 13. Sep 2022, 16:10
Das ist halt der Pfad, wo du runtergeladene Dateien lesen kannst.
Selber runterladen und dort speichern ist da nicht inbegriffen ... wobei, ein Webbrowser kann es ja auch, also muß es irgendwie gehn

Du kannst dir ja mal die APK vom Chrome runterladen und dort nachsehn, was der für Berechtigungen hat.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (13. Sep 2022 um 16:21 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.462 Beiträge
 
Delphi 12 Athens
 
#14

AW: FileExists funktioniert nicht bei Android?

  Alt 13. Sep 2022, 16:31
Gibt es bei Android nicht so einen Download Manager Service?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: FileExists funktioniert nicht bei Android?

  Alt 13. Sep 2022, 16:52
Zitat:
Schau mal bei KodeZwerg im 2. Beitrag, kann es nicht doch an Berechtigungen liegen ?
Vielleicht mal checken ob das Verzeichnis erreichbar ist.
Volltreffer!
writing-to-an-external-sd-card-in-delphi-10-3-rio

Delphi-Quellcode:
fWriteStorage := JStringToString(TJManifest_permission.JavaClass.WRITE_EXTERNAL_STORAGE);

...

if PermissionsService.IsPermissionGranted(fWriteStorage) then
begin
  // access previously granted, write files...
end
else
begin
  PermissionsService.RequestPermissions([fWriteStorage],
    procedure(const APermissions: TArray<string>; const AGrantResults: TArray<TPermissionStatus>)
    begin
      if (Length(AGrantResults) = 1) and (AGrantResults[0] = TPermissionStatus.Granted) then
      begin
        // access granted, write files...
      end
      else
      begin
        // access denied, can't write files...
      end;
    end,
    DisplayRationale);
  end;
end;
Da geht es zwar um eine SD-Karte aber vermutlich ist es das selbe Prinzip, natürlich kann ich mich da auch total irren!
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
skoschke

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

AW: FileExists funktioniert nicht bei Android?

  Alt 13. Sep 2022, 16:55
So, falls jemand die gleichen Probleme bekommt, meine Lösung:

Ich darf nicht direkt unter dem frei zugänglichen Downloads (GetSharedDownloadsPath) Dateien erzeugen, wohl aber Verzeichnisse!
Also habe ich dort ein Unterverzeichnis für die App angelegt, darin darf ich Dateien speichern!
Somit sind dann die heruntergeladenen Dateien auch vom Benutzer erreichbar, das war das Wichtigste, nicht in die App-Sandbox speichern zu müssen...

Ciao
Stefan
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 23:40 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