我实现了一个捕获图像并将其保存到我的自定义文件夹的应用程序。一切都很好,但问题是,当我捕捉图像时,我的画廊不会同步。这意味着画廊不会显示新的捕捉图像。因为我需要重新启动手机。
这是我的图像捕捉代码....
if (requestCode == 0 && resultCode == RESULT_OK) {
String[] projection = {MediaStore.Images.ImageColumns.SIZE,
MediaStore.Images.ImageColumns.DISPLAY_NAME,
MediaStore.Images.ImageColumns.DATA,
BaseColumns._ID,
MediaStore.Images.ImageColumns.DATE_ADDED};
final String imageOrderBy = MediaStore.Images.Media._ID + " DESC";
final String selection = MediaStore.Images.Media.DATE_TAKEN + " > " + time;
Uri u = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
CursorLoader loader = new CursorLoader(this, u,
projection, selection, null, imageOrderBy);
Cursor cursor = loader.loadInBackground();
if (null != cursor && cursor.moveToFirst()) {
ContentResolver cr = this.getContentResolver();
cr.delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
BaseColumns._ID + "=" + cursor.getString(3), null);
}
//showing image in image view
cameraPicture = output.getPath();
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 4;
Bitmap bitmap = BitmapFactory.decodeFile(cameraPicture, options);
binding.imageView.setImageBitmap(bitmap);
binding.imageView.setVisibility(View.VISIBLE);
}
所以当我捕获图像时,如何同步我的Android厨房?这样我就可以立即从厨房查看这张图片。
答案 0 :(得分:0)
保存文件后需要通知系统
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);
}
});
}