Android 刷新相册

时间:2023-03-09 15:14:35
Android 刷新相册

Android4.4之前:

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

在4.4中会报权限异常

Permission Denial: not allowed to send broadcast android.intent.action.MEDIA_MOUNTED from pid=2269, uid=20016
那是因为Android4.4中限制了系统应用才有权限使用广播通知系统扫描SD卡。

之后

  

 public static void refreshAlbum(Context context, File file) {

        try {
MediaStore.Images.Media.insertImage(context.getContentResolver(), file.getAbsolutePath(), file.getName(), null);
} catch(FileNotFoundException e) {
e.printStackTrace();
} context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(file)));
}