我正在为 Android 开发相机应用程序。
一项要求是将拍摄的照片保存到设备的默认相机照片文件夹,即 Android 原生相机存储照片的文件夹。
我如何才能确定本机相机将其拍摄的照片存储在哪里 - 我的理解是,对于不同的品牌(三星、HTC、摩托罗拉、索尼......)和型号(Galaxy Tab、Galaxy S4 .. .)
我正在为 Android 开发相机应用程序。
一项要求是将拍摄的照片保存到设备的默认相机照片文件夹,即 Android 原生相机存储照片的文件夹。
我如何才能确定本机相机将其拍摄的照片存储在哪里 - 我的理解是,对于不同的品牌(三星、HTC、摩托罗拉、索尼......)和型号(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
...