Android Newly Taken Photo from custom camera does not appear in gallery (media store)

前端 未结 3 1141
时光取名叫无心
时光取名叫无心 2021-01-24 05:40
  1. in my app, i initially load all the images from the gallery, i.e. (MediaStore.Images.Media.EXTERNAL_CONTENT_URI)

  2. user can take picture via my app, but i

相关标签:
3条回答
  • 2021-01-24 05:59

    This works for now:

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){
    
       sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + outPath)));
    
    }else{                      
    
       sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + outPath)));
    
    }
    
    0 讨论(0)
  • 2021-01-24 06:19

    You just need to send an broadcast "ACTION_MEDIA_SCANNER_SCAN_FILE" so that the mediascanner can scan for the image you saved.

     Intent mediaScanIntent = new Intent( Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
     mediaScanIntent.setData(uri);
     sendBroadcast(mediaScanIntent);
    

    just set the uri of the the newly created image. :)

    0 讨论(0)
  • 2021-01-24 06:19

    Yes, you are true, you need to provide the newly created file to the MediaStore.

    MediaScannerConnection will help you.

    MediaScannerConnection provides a way for applications to pass a newly created or downloaded media file to the media scanner service. The media scanner service will read metadata from the file and add the file to the media content provider. The MediaScannerConnectionClient provides an interface for the media scanner service to return the Uri for a newly scanned file to the client of the MediaScannerConnection class.

    0 讨论(0)
提交回复
热议问题