2017-05-03 30 views
-1

我对摄像头图像的存储位置和方式感到困惑。所以我有一个运行在SD上的API 22模拟器,下面的代码只能在使用SD卡时运行。然后我拍了几张照片,看看画廊里的图片,camFiles数组将会填充。默认摄像头图像目录路径Android

但是,即使使用SD卡,它也不适用于API 23/24仿真器。有没有办法获得适用于任何API级别的默认相机目录?

File cameraDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).toString()); 
File[] files = cameraDir.listFiles(); 

//gets the 'Camera' directory 
File finalCamDir = files[0]; 
File[] camFiles = finalCamDir.listFiles(); 

回答

0

有没有办法让会为任何API级别上工作的默认摄像头的目录?

不是。没有单个“默认相机目录”。除了用户自行安装的相机应用程序之外,还有成千上万的Android设备,其中有数百个不同的预安装的相机应用程序。这些相机应用程序的开发者决定将照片保存在设备上的哪个位置。

DIRECTORY_DCIM是推荐的起点。有些相机应用程序会将照片直接放在此目录中。其他人,如Open Camera,将使用DIRECTORY_DCIM以外的子目录(例如,OpenCamera/)。欢迎其他人随时随地存储他们的照片,不一定涉及DIRECTORY_DCIM

+0

啊谢谢。这澄清了一些事情。 –