Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.6.0 alpha erlaubt keinen Zugriff auf lokale Datenbank #11

Closed
ms0087 opened this issue Aug 26, 2023 · 13 comments
Closed

2.6.0 alpha erlaubt keinen Zugriff auf lokale Datenbank #11

ms0087 opened this issue Aug 26, 2023 · 13 comments

Comments

@ms0087
Copy link

ms0087 commented Aug 26, 2023

Die Version 2.6.0 alpha erlaubt bei Android 13 (Pixel 6a) weder nach Aktualisierung der vorherigen Version, noch nach Löschen aller Berechtigungen, noch nach völliger Deinstallation und Neuinstallation, den Zugriff auf den "Internen gemeinsamen Speicher" und damit die (überspielte) Datenbank der Windows-Version 2.6.0 des Kleinen Brauhelfers.

Berechtigungen werden schon beim Start nicht abgefragt und man kann auch kein Verzeichnis im Auswahldialog freigeben. Die Dateiangabe wird zwar angenommen und die Datenbank als "aktuell" erkannt (aber auch nur wenn der Pfad manuell als storage/emulated/0/Verzeichnisname/kb_daten.sqlite eingegeben wird), aber die App zeigt keinerlei Daten aus der (schon am PC auf das neue Format akualisierten) Datenbank an.

@BourgeoisLab
Copy link
Member

Danke für die Meldung. Hat es zuvor funktioniert mit der Version 2.5.2?
Das mit der Pfadangabe ist bekannt. Ich habe noch keine Lösung dafür gefunden.

@ms0087
Copy link
Author

ms0087 commented Aug 28, 2023

Ja, mit der alten Version (auf die ich zurückgewechselt bin) hat es funktioniert und funktioniert wieder. Da erschien nach der Neuinstallation auch eine Abfrage, mit der man allgemein Berechtigungem freigeben konnte. Bei der alten Version muss der Pfad auch per Hand angegeben werden, ich glaube, das war schon immer so.

Vielleicht werden in der neuen Version die Berechtigungen nicht so angefordert, wie Android 13 das erwartet?

@BourgeoisLab
Copy link
Member

Ich habe bei der neuen Version der App auf die neue Qt Version (6.5) gewechselt. Dort wurden Sachen für die Berechtigung geändert. Ich muss mich da offenbar nochmals einlesen. Bei meinem alten Android funktioniert aber der Speicherzugriff.

Die Berechtigung kannst du über die Android Einstellungen nicht erteilen?

@ms0087
Copy link
Author

ms0087 commented Aug 28, 2023

Habe gerade nochmal geschaut. Einen Freigabedialog für das ausgewählte Verzeichnis gibt es auch bei 2.5.2 nicht, aber beim ersten Start wurden allgemein Erlaubnisse abgefragt.

Ich habe lt "application inspector" in 2.5.2 die Berechtigungen android.permission. ...
ACCESS_MEDIA_LOCATION
READ_EXTERNAL_STORAGE
READ_MEDIA_AUDIO
READ_MEDIA_IMAGES
READ_MEDIA_VIDEO
WRITE_EXTERNAL_STORAGE

gewährt.

@ms0087
Copy link
Author

ms0087 commented Aug 28, 2023

Ich kann in den Einstellungen nur Berechtigungen gewähren oder entziehen, die die App angefordert hatte. Als es nicht funktioniert hatte, hatte ich dort alle angeforderten (aber nicht offen abgefragten) Berechtigungen gewährt, das hat aber nicht geholfen. Ich glaube, es hatte jedenfalls eine Schreibberechtigung gefehlt, was vielleicht - ich spekuliere nur - dazu passen würde, dass er einerseits die Datenbank gefunden und als aktuell erkannt hat, aber ihren Inhalt nichts anzeigt? Vielleicht will die App ja mit Schreibrechten öffnen?

@BourgeoisLab
Copy link
Member

Die Meldung, dass die Datenbank aktuell ist, muss nicht unbedingt stimmen. Ich denke, die App kann die Datei grundsätzlich nicht öffnen. Wichtig sind die Berechtigungen READ_EXTERNAL_STORAGE und WRITE_EXTERNAL_STORAGE.

Ich schaue mir das an. Leider komme ich erst Ende September dazu.

@BourgeoisLab
Copy link
Member

Habe folgendes zu READ_EXTERNAL_STORAGE gefunden:

Note: Starting in API level 33, this permission has no effect. If your app accesses other apps' media files, request one or more of these permissions instead: READ_MEDIA_IMAGES, READ_MEDIA_VIDEO, READ_MEDIA_AUDIO. Learn more about the storage permissions that are associated with media files.

https://developer.android.com/reference/android/Manifest.permission#READ_EXTERNAL_STORAGE

@ms0087
Copy link
Author

ms0087 commented Sep 17, 2023

Dazu kann ich leider nichts sagen. Ich weiß nur, dass die App den Schreib-Zugriff auf alle Daten gesondert anfordern muss, damit man ihn gewähren kann. Habe das jetzt unter dem Link auch bei WRITE_EXTERNAL_STORAGE gefunden. Dort heißt es, dass man für application-specific directories keine besonderen Rechte brauche, aber mir ist nicht klar, welches Verzeichnis mein application-specific directory sein soll. Für weitergehende Zugriffe braucht man wohl eine MANAGE_EXTERNAL_STORAGE-permission, mit dem man sich dann so frei (und gefährlich ;-) ) bewegen kann wie früher:

"If your app is a file manager and needs broad access to external storage files, then the system must place your app on an allowlist so that you can successfully request the [MANAGE_EXTERNAL_STORAGE] permission."

@BourgeoisLab
Copy link
Member

Qt 6.6 wird Neuerungen in diesem Bereich bringen. Dann sollte das Auswahldialog auch funktionieren. Ist zumindest meine Hoffnung. https://www.qt.io/blog/qt-for-android-storage-updates

Berechtigung Anfordern funktioniert jetzt bei mir. Aus Zeitgründe warte ich aber auf Qt 6.6 für ein neues Release.

@ms0087
Copy link
Author

ms0087 commented Sep 20, 2023

Vielen Dank - für das künftige Update und überhaupt für die tolle Software :-) !

@BourgeoisLab
Copy link
Member

kleiner-brauhelfer-app-2.6.1beta1-armeabi_v7a.txt

Ich habe bei einem emulierten Android 13 Gerät geschafft, eine lokale Datenbank zu öffnen. Magst du die angehängte Version ausprobieren? Nach dem Start sollte die App, um Erlaubnis für den Speicherzugriff fragen.
Github erlaubt keine Anhänge mit Dateiendung in .apk. Du musst die Daten nach dem Herunterladen in kleiner-brauhelfer-app-2.6.1beta1-armeabi_v7a.apk umbenennen. Die Datei funktionier nur mit ARM Geräte.

Leider funktioniert das Dialog für die Dateiwahl immer noch nicht.

@ms0087
Copy link
Author

ms0087 commented Oct 21, 2023

Es funktioniert :-)), großartig, vielen Dank!

Allerdings hat mein Handy inzwischen Android 14. Ich habe deshalb zuerst nochmal die "alte" 2.6.0 alpha installiert, um zu sehen, ob sich durch das Betriebssystemupdate etwas geändert hat. Hat es nicht, 2.6.0 alpha hat nach wie vor nicht funktioniert.

Nach dem weiteren Update auf 2.6.1 beta 1 kam zwar zunächst eine Meldung, dass das Programm nicht für diese Android-Version sei, nachdem ich diese Meldung bestätigt hatte, öffnete sich aber der Android-Dialog für den Zugriff auf alle Dateien. Ich kann auf die Datenbank zugreifen, Änderungen vornehmen und die Änderungen auch speichern, es klappt also alles!!

Viele Grüße

Martin

P.S. Die Sache mit dem Dateiauswahl-Dialog ist in Android 14 unverändert.

@BourgeoisLab
Copy link
Member

Erledigt mit 3f72581.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants