今天碰到一个头疼的 系统更新图库的方法
在网上找了一圈 通过发广播的方式通知的系统更新 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和自己的保存的图片的类型 一致~