各手机厂商实现不太一致,当保存图片后打开gallery时,有的会自动给你刷新,有的不行,这样就导致图片保存到SD卡上时,不能及时在gallery中看到,遇到这种情况最好是自己刷新。
通过 Intent.ACTION_MEDIA_MOUNTED 进行整个SD卡扫描:
public void sdScan(){
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"
+ Environment.getExternalStorageDirectory())));
}
通过 Intent.ACTION_MEDIA_SCANNER_SCAN_FILE 扫描某个文件:
public void fileScan(String filePath){
Uri data = Uri.parse("file://"+filePath);
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, data));
}
注:filePath为图片在SD卡中的地址,当保存图片后,调用以上方法即可;
sendBroadcast为类Context的一个方法。