Fork me on GitHub

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)));
    }

 

posted @ 2016-09-21 10:16  森林森  阅读(1920)  评论(0编辑  收藏  举报