图片保存在/storage/emulated/0/xxxx/123.jpg
我扫描的是/storage/emulated/0/xxxx/,但是执行保存之后,发现在图库(系统图库)里面没有那个文件夹.不知道是因为什么,求解.
另外我想实现,第一次扫描文件夹,后面如果在新增文件(下载新的图片)就不用扫描文件夹了,请问怎么判断文件夹已经被扫描过了呢?
看了很多网上的很多都没法扫描,求可用扫描方法。
嗯,有些路径图库没扫描出来算正常吧。文件夹已经被扫描过估计只能自己保存了。
filepath 要更新的路径
解决办法:
1:先做版本判断
public static boolean hasKitkat(){
//Build.VERSION.KITKAT–Android4.4
return Build.VERSION.SDK_INT >= 19;
}
2:浏览图片
public static void scanPhotos(String filePath, Context context) {
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
Uri uri = Uri.fromFile(new File(filePath));
intent.setData(uri);
context.sendBroadcast(intent);
}
private void refreshPicture(){
if(hasKitkat()){
MediaScannerConnection.scanFile(this,
new String[] {currFilePath}, new String[]{ “image/*” },
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
sendBroadcast(new Intent(android.hardware.Camera.ACTION_NEW_PICTURE, uri));
sendBroadcast(new Intent(“com.android.camera.NEW_PICTURE”, uri));
}
});
scanPhotos(currFilePath, this);
}else{
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri.parse(“file://” + currFilePath)));
}
}
直接在调用refreshPicture()就可以了。