Je développe une application de caméra pour Android.
Une exigence est de sauvegarder les photos prises dans le dossier photo de l'appareil photo par défaut de l'appareil, c'est-à-dire que le dossier dans lequel la caméra natale de Android le stocke.
Comment puis-je comprendre où la caméra natale stocke les photos à prendre - c'est ce que je crois comprendre que cela pourrait être différent pour différentes fabrications (Samsung, HTC, Motorola, Sony ...) et des modèles (Galaxy Tab, Galaxy S4 .. .)
Utilisation GetExternalStoragePublicDirectory ()
avec paramètre répertoire_pictures
(Ou, pour d'autres cas d'utilisation, d'autres paramètres similaires tels que Directory_Movies )
Je sais que c'est un peu tard pour cela, mais vous pouvez le faire:
String CameraFolder="Camera";
File CameraDirectory = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).toString());
File[] files = CameraDirectory.listFiles();
for (File CurFile : files) {
if (CurFile.isDirectory()) {
CameraDirectory=CurFile.getName();
break;
}
}
final String CompleteCameraFolder = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).toString() + "/" + CameraFolder;
En option, vous pouvez effectuer votre opération à l'intérieur de la boucle pour la boucle.
Informations supplémentaires sur ce sujet. Vous devez ajouter une permission d'accéder au stockage externe ou listFiles()
renvoie toujours null. Ajouter ci-dessous à votre AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.tomoima.filedirectory"
xmlns:Android="http://schemas.Android.com/apk/res/Android">
<uses-permission Android:name="Android.permission.READ_EXTERNAL_STORAGE" />
<application
...