Wie bereits gesagt, du kannst / solltest die Bilder gleich in einem der Shared folder speichern (und nicht erst im ASD), dann bleiben diese auch nach einer Neuinstallation erhalten und sind dann mit READ permission lesbar. Für Android < 11 ist dafür WRITE permission erforderlich.
habe jetzt deine Idee mit dem Speichern der Bilder in einem Unterordner von "Pictures" realisiert.
Funktioniert soweit auch, sofern ich die App nicht deinstalliere und neu installiere.
Testen kannst du das gerne mit der Google Play Store Version 2.975 meiner App.
Solange ich mit der App arbeite, die die Bilder speichert ist alles okay. Auch nach der Deinstallation der App bleiben die Bilder erhalten, so wie du schon sagtest.
Rechte habe ich beim Initialisieren von Screen1 gegeben.
Das Problem entsteht nach der Neuinstallation der App. Die gespeicherten Bilder sind für die neu installierte App nicht sichtbar, d.h. sie werden nicht angezeigt. Ich kann zwar neue Bilder per Kamera bzw. Galerie hinzufügen, es werden aber ausschließlich diese Bilder gezeigt. Die Bilder der deinstallierten App sind zwar im gleichen Ordner, werden aber nicht angezeigt in der Image-Komponente.
Es scheint so, dass jede App den Bildern eine Eigenschaft bzw. Merkmal zuordnet, so dass nur diese Bilder von der App auch wieder erkannt und gelesen werden.
Ist dem so? Dann bringt mir die Speicherung im Ordner "Pictures" nichts, da ja die gespeicherten Bilder in der neu installierten App nicht sichtbar sind.
Es geht in diesem Forum nicht darum, dass ein PowerUser - oder wer auch immer - nur DEINE Probleme löst, sondern in erster Linie, darum, dass ALLE davon lernen sollen. Also gib erstmal Feedback zu einzelnen Antworten auf deine Fragen (also ob es jetzt so funktioniert hat), bevor du gleich die nächste Frage stellst.
Und wenn du das getan hast, teste einmal diese APK auf deinen Android 11+ Geräten.
Unter Android < 11 sollte es ohnenin keine Probleme geben, da dort generell Zugriff auf den kompletten external storage (mit READ/WRITE permissions) besteht. Die Fotos werden hier gespeichert: /Pictures/MeineBilder/ (relative path).
Schritte:
App installieren und starten
READ permission nur dann gewähren, wenn die App nicht zuvor schon installiert worden war.
Die App schließen und neu starten und 2-3 weitere Fotos machen.
Die App schließen, deinstallieren und neu installieren.
App starten und READ permission JETZT gewähren.
2-3 neue Fotos machen (CAMERA permission muss natürlich wieder gewährt werden).
App schließen, neu starten.
Prüfen, ob Zugriff auf alle Fotos besteht (auch die in den vorherigen, deinstallierten, App-Versionen gemachten Fotos).
Wiederhole Schritt 5 folgende ...
Wie ich schon sagte, auf Android < 11 muss WRITE permission gewährt werden (diese schließt READ automatisch mit ein).
This forum is not about a power user or whoever solves YOUR problems, but primarily about EVERYONE learning from it. So first give feedback on individual answers to your questions (i.e. whether it worked now) before you immediately ask the next question.
And once you've done that, try this APK on your Android 11+ devices. The photos are stored here: /Pictures/MeineBilder/ (relative path).
Steps:
Install and start the app
Grant READ permission only if the app hasn't been previously installed.
Take 2-3 pictures (granting CAMERA permission, of course).
Close and restart the app and take 2-3 more photos.
Close, uninstall and reinstall the app.
Start the app and grant READ permission NOW.
Take 2 new photos (CAMERA permission must of course be granted again).
Close app, restart.
Check whether all photos are accessible (including photos taken in previous, uninstalled app versions).
Repeat ...
As I said, on Android < 11, WRITE permission must be granted (this automatically includes READ).
On Android < 11 there shouldn't be any problems anyway, as there is generally access to the entire external storage (with READ/WRITE permissions).
Es war und ist nicht meine Absicht und Erwartung, dass das Forum nur meine Probleme löst.
Vielen, vielen Dank, dass du dich meinen Fragen und Problemen angenommen hast. Ich habe als Anfänger in der Programmierung von Apps gerade aus deinen Antworten gelernt, dass es seit Android 11 massive Unterschiede beim Arbeiten mit Ordner und Dateien seitens Google gibt.
Meine kleine App hat auf meinem alten Handy (Android Version 9) sehr gut funktioniert und eine Speicherung unter /storage/emulated/0/WurstRechner klappte.
Mit meinem neuen Handy (Android Version 12) funktioniert dies nicht mehr, da in den o.g. Ordner nicht mehr geschrieben werden kann.
Ich hatte dann versucht, alles im ASD zu speichern, was auch funktioniert. Mit Hilfe des TotalCommander kann ich auch ein Backup der wichtigen Dateien anlegen. Nur ein andere Benutzer der App kann dies nicht so einfach.
Der nächste Test war laut deinem Tipp, alle Bilder in den SharedFolder Pictures in ein Unterverzeichnis zu legen. Dies funktioniert mit der aktuellen Version der App auch. Soweit habe ich deinen Tipp umgesetzt und mit der App ausgiebig getestet. Es funktioniert solange, bis ich die App deinstalliere und wieder neu installiere. Dann werden die Bilder der deinstallierten App nicht angezeigt obwohl sie im Ordner sich noch befinden.
Das es einen Weg gibt, zeigt deine App Camera_sharedFolder.apk.
Ich habe sie auf meine Android12-Handy installiert und die Schritte 1 bis 10 ausgeführt. Es klappt ausgezeichnet, vielen vielen Dank für deine Mühen.
Was ich mich frage ist, wie du es gemacht hast. Wärest du so freundlich, mir einen Weg dafür aufzuzeichnen.
Ok, ich dachte, er hat die Erweiterung nicht benutzt. Aber das habe ich auf Taifuns Website gesehen
Note: Starting with the SDK30 release most of the methods and events of this extension will still work, except copying files to the external storage (outside the ASD) on devices with Android >= 10, because WRITE permission does no longer exist (with targetSdk = 30). But DefaultFileScope must be set to Legacy (otherwise you will not be able to ask for READ/WRITE permissions for Android versions from 4.4 - 9, API 19 - 28).
Generally my suggestion is to use the corresponding methods from the file component now.
See also the design document here.
Note: Starting with the SDK30 release most of the methods and events of this extension will still work, except copying files to the external storage (outside the ASD or one of the Shared folders) on devices with Android >= 11, because WRITE permission does no longer exist on Android 11+ (with targetSdk = 30). But DefaultFileScope must be set to Legacy (otherwise you will not be able to ask for READ/WRITE permissions for Android versions from 4.4 - 9, API 19 - 28).
Dies düfte eine andere Ursache haben als das Anfordern und Gewähren der permission.
Im Übrigen muss (sollte) die CAMERA permission nicht manuell angefordert werden.
Also mache es so (wobei READ auf Android 11 erst nach dem BACKUP benötigt wird):
thanks for the tip. I'll hide the permission for now.
I'm still stuck on my problem with saving to the Download shared folder and a subfolder there.
Is there a bug or error in the file component?
Instead of copying to the subfolder, it creates a file in the Download folder starting with the subfolder name.
To clarify, a test AIA. TestCopyDownload.aia (4.3 MB)