gpt4 book ai didi

android - 拍摄的 Camera2 API 图片不会显示在图库应用程序中

转载 作者:行者123 更新时间:2023-11-30 01:28:46 24 4
gpt4 key购买 nike

我有一个相机项目,我正在使用 camera2 API 尤其是从这个链接 https://github.com/googlesamples/android-Camera2Basic

例如,我可以将拍摄的照片保存到位于 DCIM/camera 的文件管理器中,但是当我打开我的画廊时,它不会显示我的最后一张照片。

谁能帮帮我?

还有一个问题,我想让我的相机可以是一个列表:例如,当我打开“LINE”并且我想用相机拍照时,我希望我的相机出现并且可以被选择。

这是我尝试将图片保存到自定义路径的示例代码:

@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mFile = new File("/storage/emulated/0/DCIM/Camera", "pic.jpg");
int counter=1;
while (mFile.exists()) {
mFile = new File("/storage/emulated/0/DCIM/Camera", "pic" + String.format("%02d", counter) + ".jpg");
counter++;
}

}

最佳答案

Android 媒体库可能不会在您写入文件时立即检测到您的文件,而是稍后在扫描时检测到。要强制它进行扫描,您可以使用此代码

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
Intent mediaScanIntent = new Intent(
Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
mediaScanIntent.setData(Uri.fromFile(mFile));
mContext.sendBroadcast(mediaScanIntent);
} else {
mContext.sendBroadcast(new Intent(
Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://" + Environment.getExternalStorageDirectory())));
}
}

由于对每个添加的文件运行扫描是一项代价高昂的操作,您可以使用此解决方案手动添加它

ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.DATA, mFile);
values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values)

关于android - 拍摄的 Camera2 API 图片不会显示在图库应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36055167/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com