拍照后更新图库图库未显示所有图片Android相机

拍照后更新图库图库未显示所有图片Android相机,第1张

概述我在onClick上使用onClick来捕获图像.PictureCallbackmyPictureCallback_JPG=newPictureCallback(){@OverridepublicvoidonPictureTaken(byte[]arg0,Cameraarg1){FileOutputStreamoutStream=null;try{//WritetoSD

我在onClick上使用onClick来捕获图像.

PictureCallback myPictureCallback_JPG = new PictureCallback() {    @OverrIDe    public voID onPictureTaken(byte[] arg0, Camera arg1) {        fileOutputStream outStream = null;        try {            // Write to SD Card            outStream = new fileOutputStream(String.format("/sdcard/%d.jpg", System.currentTimeMillis()));             outStream.write(arg0);            outStream.close();            Toast.makeText(Photo.this, "Image Saved to SD Card", Toast.LENGTH_SHORT).show();            System.out.println();        } catch (fileNotFoundException e) {             e.printstacktrace();        } catch (IOException e) {            e.printstacktrace();        }        camera.startPrevIEw();    }};

图像保存在SD卡中.
然后用户单击“发送”按钮并打开布局,在“单击ImageVIEw”上打开图像库并单击特定图像,将选择URI.

    imageAttachPhoto = (ImageVIEw)findVIEwByID(R.ID.imageVIEwPhotoOne);    imageAttachPhoto.setonClickListener(new VIEw.OnClickListener() {        @OverrIDe        public voID onClick(VIEw vIEw) {            Intent intent = new Intent();            intent.setType("image/*");            intent.setAction(Intent.ACTION_GET_CONTENT);            startActivityForResult(Intent.createChooser(intent,"Select Picture"), SELECT_PICTURE);        }    });}public voID onActivityResult(int requestCode, int resultCode, Intent data) {    if (resultCode == RESulT_OK) {        if (requestCode == SELECT_PICTURE) {            Uri selectedImageUri = data.getData();            selectedImagePath = getPath(selectedImageUri);            System.out.println("Image Path : " + selectedImagePath);            imageAttachPhoto.setimageURI(selectedImageUri);        }    }}public String getPath(Uri uri) {    String[] projection = { MediaStore.Images.Media.DATA };    Cursor cursor = managedquery(uri, projection, null, null, null);    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);    cursor.movetoFirst();    return cursor.getString(column_index);}

但是我无法查看在gallery代码中捕捉的图像,但可以通过filebrowser查看图像,当我在PC中打开SD卡时,我可以看到图像,然后AndroID也会在代码中显示图库中的图像.
让我知道问题是什么以及如何解决,期待您的回复.
谢谢.

解决方法:

AndroID扫描媒体文件和那些在使用内容提供商时显示…当您运行您的应用程序并采取新相机时,您刚刚拍摄新照片但默认画廊不知道新的照片因为他们不在内容提供商的媒体清单.

我想在拍照之后和调用画廊之前添加这一行将显示从相机拍摄的所有最新照片.

    sendbroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,                  Uri.parse("file://"+ Environment.getExternalStorageDirectory())));

这将在KitKat中抛出SecurityException.尝试使用Vossi的方法,或使用此处使用的MediaScannerConnection:stackoverflow – @absk

总结

以上是内存溢出为你收集整理的拍照后更新图库图库未显示所有图片Android相机全部内容,希望文章能够帮你解决拍照后更新图库图库未显示所有图片Android相机所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1099755.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存