I am developing a camera app for Android.
One requirement is to save the photos taken to the device\'s default camera photo folder i.e. the folder in which Android\
I know it's a little late for this, but you can do this:
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;
Optionally, you can perform your operation inside the for loop.
Additional information on this topic. You need to add a permission to access the external storage or listFiles()
always returns null. Add below to your 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
...
Use getExternalStoragePublicDirectory()
with parameter DIRECTORY_PICTURES
(or, for other use cases, other similar parameters such as DIRECTORY_MOVIES)