Android用のカメラアプリを開発しています。
1 つの要件は、撮影した写真をデバイスのデフォルトのカメラ写真フォルダー、つまり Android のネイティブ カメラが保存するフォルダーに保存することです。
ネイティブ カメラが撮影した写真をどこに保存しているかを知るにはどうすればよいですか。これは、メーカー (Samsung、HTC、Motorola、Sony...) やモデル (Galaxy Tab、Galaxy S4 など) によって異なる可能性があることを理解しています。 .)
Android用のカメラアプリを開発しています。
1 つの要件は、撮影した写真をデバイスのデフォルトのカメラ写真フォルダー、つまり Android のネイティブ カメラが保存するフォルダーに保存することです。
ネイティブ カメラが撮影した写真をどこに保存しているかを知るにはどうすればよいですか。これは、メーカー (Samsung、HTC、Motorola、Sony...) やモデル (Galaxy Tab、Galaxy S4 など) によって異なる可能性があることを理解しています。 .)
これには少し遅れていることはわかっていますが、次のことができます。
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;
オプションで、for ループ内で操作を実行できます。
このトピックに関する追加情報。外部ストレージにアクセスする権限を追加する必要があります。そうしないと、listFiles()
常に null が返されます。以下を 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
...