今天碰到一個頭疼的 系統更新圖庫的方法
在網上找了一圈 通過發廣播的方式通知的系統更新 Media ContentResolver
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" +
Environment.getExternalStorageDirectory())));
網上是說在4.4以後,應用無法再向系統發送通知了。。
然後看見可以試下這個方法
final ContentValues values = new ContentValues(2);
values.put(MediaStore.Video.Media.MIME_TYPE, "image/jpeg/jpg");
values.put(MediaStore.Video.Media.DATA, filename);
// Add a new record (identified by uri)
final Uri uri = context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
values);
context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,
Uri.parse("file://"+ filename)));
Logger.e("sendBroadcast - ------------------");
這裏原理是 直接向ContentResolver插入數據 然後 發送廣播 ACTION_MEDIA_SCANNER_SCAN_FILE來處理。
注意 :MIME_TYPE和自己的保存的圖片的類型 一致~