android Camera问题记录

sancaiodm Bug异常与ODM定制 2022-02-07 1093 0

[1]在使用源码中提供的camera2basic示例项目时,发现生成的图片无法在手机的相册内显示,即使已将照片的保存路径指定到了sdcard/Pictures目录仍未显示,保存代码如下:

String picName = new SimpleDateFormat("yyyyMMddHHmmss'_pic.jpg'").format(new Date());

File mFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),picName);

这是因为生成的照片未通知系统media更新系统保存的多媒体Uri,

解决方案如下:

            Uri picUri = Uri.fromFile(mFile);

            Intent updateIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, picUri);

            Utils.getLsApplicationContext().sendBroadcast(updateIntent);


[2]当通过Intent调用系统默认camera时,在拍照后都会停留在确定或重拍的界面中,如果你想在拍照后直接自动保存照片,而不是每次拍照后都停在保存与取消的界面,可通过添加属性:

android.intent.extra.quickCapture

具体代码如下


Intent intentPhoto = new Intent(MediaStore.ACTION_IMAGE_CAPTURE, null);

intentPhoto .putExtra("android.intent.extra.quickCapture",true);   //启用快捷拍照

startActivity(intentPhoto );


评论