有什么办法可以得到Android相机拍摄的图片的真实存放路径?
Is there any way to get the real path storing picture captured by Android camera?
我发现一些 Android OEM 将 android 系统相机(由 OEM 开发)拍摄的照片存储在 DCIM 文件夹中,但其他 DCIM/Camera.
那么,有什么办法可以得到Android相机拍摄的图片的真实存放路径?
我不确定这是否是您想要的答案(或者您是否想要答案?),但它是:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
imageFile = new File(
Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "goQuiz/profilePic.jpg"
);
Uri tempuri = Uri.fromFile(imageFile);
intent.putExtra(MediaStore.EXTRA_OUTPUT, tempuri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, 0);
myVar = imageFile.getAbsolutePath();
截至目前,myVar
存储了保存图片的完整路径。
基本弄个变量给你保存file.getAbsolutePath()
I want to know the camera app developed by OEM itself.
除非挟持并要求OEM交出这些信息,否则您将无法获得。毕竟:
您无法知道设备上预装了哪些相机应用程序,或者即使有一个
您根本无法知道 OEM 是否编写了该相机应用程序,而不是从第三方获得许可
您无法知道该相机应用会将图像存储在哪里,因为该应用可能会通过用户提供的配置数据(例如,"let's link the camera to your Dropbox account!")将图像存储在任何地方
您甚至不知道相机是否会将图像存储在您可以访问的位置(例如,相机应用程序可以在 Android 4.4+ 上写入可移动媒体,您的应用程序无法访问)
我发现一些 Android OEM 将 android 系统相机(由 OEM 开发)拍摄的照片存储在 DCIM 文件夹中,但其他 DCIM/Camera.
那么,有什么办法可以得到Android相机拍摄的图片的真实存放路径?
我不确定这是否是您想要的答案(或者您是否想要答案?),但它是:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
imageFile = new File(
Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "goQuiz/profilePic.jpg"
);
Uri tempuri = Uri.fromFile(imageFile);
intent.putExtra(MediaStore.EXTRA_OUTPUT, tempuri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, 0);
myVar = imageFile.getAbsolutePath();
截至目前,myVar
存储了保存图片的完整路径。
基本弄个变量给你保存file.getAbsolutePath()
I want to know the camera app developed by OEM itself.
除非挟持并要求OEM交出这些信息,否则您将无法获得。毕竟:
您无法知道设备上预装了哪些相机应用程序,或者即使有一个
您根本无法知道 OEM 是否编写了该相机应用程序,而不是从第三方获得许可
您无法知道该相机应用会将图像存储在哪里,因为该应用可能会通过用户提供的配置数据(例如,"let's link the camera to your Dropbox account!")将图像存储在任何地方
您甚至不知道相机是否会将图像存储在您可以访问的位置(例如,相机应用程序可以在 Android 4.4+ 上写入可移动媒体,您的应用程序无法访问)