• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

3655 CB Hängt beim Starten

MoinMoin

Geocacher
Moin,
soeben mal 3655 installiert, da ich in der 3645 immer noch den Absturz beim erstellen eines WP über GPS habe.
Leider startet CB jetzt nur noch mit "Please wait! Bitte warten". 15 Minuten warten sollte doch eigentlich genug sein, oder? Neustart vom Phone ändert leider auch nichts.

Nachtrag:
CB deinstalliert, 3645 installiert Ergebnis CB startet gar nicht mehr :(
 

arbor95

Geoguru
Ich weiß auch nicht, woran es liegt, aber so geht es:
Verzeichnis CacheBox umbenennen.
Dann startet ACB.
Verzeichnis wieder zurück umbenennen.

Dann hat man es so wie gewüscht.
 

Koblenzer

Geomaster
Das Problem habe ich auch, der vorgenannte Workaround nutzt bei mir nichts (Android 11).

Ursache scheint zu sein, dass die Versionen ab 3655 unzureichende Berechtigungen anfordern.
Statt wie vorher "Verwaltung aller Dateien zulassen" wird nur noch "Zugriff auf Mediendateien zulassen" angefordert. Das reicht offenbar nicht, um im Cachebox-Ordner auf der internen SD auf die notwendigen Dateien zugreifen zu dürfen.
 

Koblenzer

Geomaster
Das mag sein, vermutlich ist das eine Auswirkung der Erhöhung des API-Levels. Hier muss wohl noch etwas nachjustiert werden.
Fakt ist jedenfalls, dass ACB seit 3655 auf meinem Smartphone mit Android 11 nicht mehr in der Lage ist, einen neuen Ordner Cachebox anzulegen oder auf einen vorhandenen Ordner der internen SD-Karte zuzugreifen. Währenddessen wird endlos "Bitte warten" beim Aufstarten von ACB angezeigt.

Screenshot_20210820-112708876.jpg
Screenshot_20210820-111452475.jpg
 

arbor95

Geoguru
Ja, wird wohl Erhöhung des API-Levels bzw. die damit verbundene Verwendung der AndroiX Libs sein.
Da muss ich mich mal schlau machen, wo was angepasst werden muss.
 

arbor95

Geoguru
Sieht aber wohl so aus, dass Android 11 (?9,10) nur noch dieses Sandkasten - Verzeichnis zur Speicherung App-eigner Daten zuläßt. (Eine spezielle Erlaubnis wird dafür nicht benötigt.)

Ich habe erstmal nicht gesehen, wie das zu ändern wäre.

Das heißt Cachbox wird nicht mehr im Cachebox-Verzeichnis der SD-Karte zu finden sein, sondern in .../Android/data/de.droidcachebox/files/...

Da könnte man eventuell mit leben, ist aber nicht schön.
 

arbor95

Geoguru
In dem Sinne: Teste ACB2-20210823-3658 unter Android 11 und sagt, was noch nachgebessert werden muss.
Eines ist mir schon aufgefallen: Etwas im browser öffnen. (zumindest im Emulator ging es nicht)
Für die anderen gab es nur eine neuere gdx-Version.

Ich habe leider kein Gerät mit Android 11 zum Test.
 

Koblenzer

Geomaster
arbor95 schrieb:
Sieht aber wohl so aus, dass Android 11 (?9,10) nur noch dieses Sandkasten - Verzeichnis zur Speicherung App-eigner Daten zuläßt. (Eine spezielle Erlaubnis wird dafür nicht benötigt.)

Ich habe erstmal nicht gesehen, wie das zu ändern wäre.

Das heißt Cachbox wird nicht mehr im Cachebox-Verzeichnis der SD-Karte zu finden sein, sondern in .../Android/data/de.droidcachebox/files/...

Da könnte man eventuell mit leben, ist aber nicht schön.

Das kann nicht die Lösung sein, zumal damit ein sehr hohes Risiko für Datenverlust gegeben ist, wenn z.B. die App einmal deinstalliert wird, was manchmal bei einem Downgrade erforderlich ist.

Es ist definitiv möglich, mit Android 11 auf Ordner der internen SD (und wahrscheinlich sogar wieder auf der externen SD) schreibend zuzugreifen.
Ich habe aktuelle Apps, z.B. Foldersync, die tun genau das mit "Min API 23 / Target API 30". Oder z.B. auch der Solid Explorer mit "Min API 16 / Target API 29".
Auf Wunsch kann ich weitere Beispiele liefern.

Wenn ich das richtig beobachtet habe, fordern diese Apps beim Start diese Rechte an, indem der User das Rootverzeichnis der SD-Karte oder den gewünschten Ordner über einen Systemdialog auswählt und damit für diese App freigeben muss. Vermutlich über einen der im nachfolgenden Link genannten Methoden:
https://developer.android.com/guide/topics/providers/content-providers
Leider stecke ich nicht tief genug in der Android Entwicklung, um das näher spezifizieren zu können.
 

Koblenzer

Geomaster
Anmerkungen zur Version 3658 nach einem kurzen Schnelltest:
läuft grundsätzlich unter Android 11, API-Key holen möglich, PQ abrufen auch, Spoiler nachladen funktioniert. Onlinkarten werden angezeigt, Auswahl eines Offline-Kartenordners ist möglich, jedoch werden die darin enthaltenen Karten dann nicht mehr gefunden/zur Auswahl angezeigt.
Externe Links zu Cachebeschreibungen funktionieren nicht mehr.
 

arbor95

Geoguru
Sind ja genau die Funktionen, die mit der Verzeichnis Berechtigung zu tun haben.

Wäre nett, wenn mir jemand den Code dazu gibt. Der dürfte ja nicht programmspezifisch sein, sondern für alle gleich sein. Dann baue ich das ein.
 

Koblenzer

Geomaster
Vielleicht hilft das: https://developer.android.com/training/data-storage/shared/documents-files#grant-access-directory ?
Ab API Level 30 (Android 11+) gibt es wie dort erwähnt noch weitere Einschränkungen des auzuwählenden Pfades, aber auch dann sollte es immer noch möglich sein, Unterordner wie ../Cachebox oder ../MAPS auszuwählen.
Weiter unten sind dann auch Beispiele, wie man auf Inhalte in den Ordnern zugreift.
 

arbor95

Geoguru
Wenn ich das richtig interpretiere, dann müssen alle Datei- und Verzeichniszugriffe neu programmiert werden.
 

arbor95

Geoguru
So, die mapsforge Bibliothek ist jetzt auf dem aktuellen Stand.
Jetzt können die Karten und die Themes auf Content statt File umgestellt werden.
 
Oben