无法在图库中看到最新拍摄的照片?

时间:2016-12-13 12:14:28

标签: android android-camera android-gallery

我正在创建一个Android应用程序,我使用相机意图拍照,然后将图片存储在图片目录中。然后我的应用程序需要上传它。但是,当我从应用程序中拍摄第一张照片时,我无法在照片库中看到它。但是,从我拍的第二张照片中我可以在画廊中看到它们。怎么办?

这是我的代码:这里我在图片按钮上显示我的照片:

EntityManager#merge

//我正在使用mediastore保存它。

 mImageSelect.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            try {
                Intent galleryIntent=new Intent(Intent.ACTION_GET_CONTENT);
                galleryIntent.setType("image/*");
                startActivityForResult(galleryIntent,GALLERY_REQUEST);
            }catch (Exception e){
                Toast.makeText(getApplicationContext(),"There was an ERROR: "+e,Toast.LENGTH_LONG).show();
                Intent intent=new Intent(PostActivity.this,AllPosts.class);
            }

        }
    });

2 个答案:

答案 0 :(得分:0)

使用以下 API级别低于19 的方法来扫描媒体文件。

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

对于 API级别19或以上扫描媒体文件,如下所示。

private void scanFile(String path) {

    MediaScannerConnection.scanFile(MainActivity.this,
         new String[] { path }, null,
         new MediaScannerConnection.OnScanCompletedListener() {

             public void onScanCompleted(String path, Uri uri) {
                    Log.i("TAG", "Finished scanning " + path);
             }
    });
}

答案 1 :(得分:0)

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