Kopieren der Bilder von DCIM (Kamera-App) ins Projektverzeichnis

W

washpuda

Neues Mitglied
0
Hallo,

ich haben Probleme mit dem Wert „targetSdkVersion“ in der build.gradle im Zusammenhang mit dem kopieren von Bildern aus der Gallery in mein APP-Verzeichnis. Hintergrund ist, dass ich mit MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA mehrere Bilder mit der Kamera-APP hintereinander mache, um diese dann in einer Liste anzuzeigen. Anders wie mit MediaStore.ACTION_IMAGE_CAPTURE kann man hier nicht die Bilder direkt speichern und mit letzteren kann man ja nur ein Bild machen.

Wenn ich als bei targetSdkVersion den Wert 28 gesetzt habe, kann ich Bilder problemlos (nach entsprechender Berechtigung) von der Gallery in mein APP-Verzeichnis kopieren und bei 29 nicht mehr (sonst keine Änderung). srcFile.exist() gibt bei beiden Werten true zurück, FileTools.fileCopy(src,dest) gibt bei Wert 28 true zurück und die Datei ist kopiert. Bei Wert 29 wird der Wert false zurückgegeben und die Datei wird nicht kopiert. Die App muss beim Wertewechsel einmal deinstalliert und neu installiert werden, beim Update von 28 auf 29 gibt es keine Probleme.

Ich denke dies hat damit etwas zu tun wie unter Meet Google Play's target API level requirement zu entnehmen ist.

External storage access is limited only to an app-specific directory and to specific types of media that the app has created.

Hat jemand eine Idee, welche Alternative ich ab Version 29 habe, die Bilder vom Verzeichnis DCIM in mein App-Verzeichnis zu kopieren. Andere Apps machen dies ja auch.
 
Zuletzt bearbeitet:
Hallo swa00,

vielen Dank für deine Antwort. Es ist ja ein etwas umfangreicheres Thema, mit dem man sich hier befassen muss, was ich am Wochenende machen werde. Eigentlich benötigte ich ja nur die Bilder die ich mit der Kamera gemacht habe. Bei einem Einzelfoto kann ich ja den Dateinamen direkt angeben und bei mir ins Verzeichnis erstellen. Bei MediaStore.ACTION_IMAGE_CAPTURE kann ich leider keine Pfad Ordner Angeben, wo mehrere Bilder hintereinander erstellt werden.
 
@washpuda

und warum nimmst du dir nicht direkt das/die Bitmap(s) aus der Kamera API und sicherst es da wo es hin soll ?
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: jogimuc
Hallo swa00,

habe auch schon spekuliert ob dies geht, damit müsste ich mich auch etwas intensiver beschäftigen. Hast du vielleicht einen guten Link, aktuell habe ich dies provisorisch gelöst, indem ich die Kamperapp nach dem Erstellten Einzelfoto wieder aufrufe.

Ich entwickle noch nicht so lange Android und eher not gedrungen um eine mobile Version für meine Desktopvariante zu haben. Es macht jedoch sehr viel spaß und ich lerne ständig etwas neues hinzu. Leider ist nur die Zeit immer etwas knapp.
 
dort steht leider nur, wie ich einzelne Bilder machen kann. Daher ich mache ein Foto und kann in der KameraApp das Bild bestätigen oder Widerholen. Wenn ich Bestätige wird die Kamera-App geschlossen und ich habe das Bild.

Ich möchte aber die Kamera-App starten und mehrere Bilder machen und über die Zurücktaste wieder zu meiner App zurückkommen. All Fotos die ich so erstellt habe werden in die Galley gespeichert. Bei Version unter 29 konnte ich einfach die Bilder von der Gallery in mein App-Verzeichnis kopieren und in einer Liste Anzeigen, was in der aktuellen Version nun nicht mehr geht. Es währe ein Traum, wenn ich einfach einen Order anstatt eines Dateinamens angeben könnte.
 
Nein du verstehst das Prinzip nicht .
Die API doku zeigt dir den allgemeinen Zugriff auf die Kamera.

Danach kannst du auch den Stream bearbeiten und selbst in deiner App bestimmen, wann du wo zu welchem Zeitpunkt welches
Bitmap sichern willst. Ich selbst arbeite damit als MotionDetection.

Aufnahmen machen und streamen mit der Android Camera2 API: das ultimative Tutorial (Teil 1) – Marko Jovanović


Damit umgehst du sämtliche Restriktionen , die du oben angeführt hast oder du baust deine App nach SAF um.
 
Zuletzt bearbeitet:
Das Hört sich ja sehr gut an, ich werde mich damit auseinander setzen. Vielen Dank ;-).
 

Ähnliche Themen

S
Antworten
33
Aufrufe
2.655
Sempervivum
S
M
Antworten
3
Aufrufe
146
moin
M
Manny87
  • Manny87
Antworten
11
Aufrufe
159
swa00
swa00
Zurück
Oben Unten