现象:连接电脑查看设备sd卡内的新拍的图片找不到
Android媒体库:
Android的媒体库其实就是一个数据库文件,当系统启动完成、SD卡插拔或者接收到“Intent.ACTION_MEDIA_SCANNER_SCAN_FILE”广播消息时,系统会扫描文件系统中的数据,将新增和删除的文件信息更新到这个数据库中,这样当其它程序获取文件系统中的文件信息时,直接操作这个数据库就行了,不用去文件系统中取。
如果想在电脑端实时查看就需要通知媒体库的广播:
/**
* 通知媒体库更新文件
* @param context
* @param filePath 文件全路径
*
* */
public void scanFile(Context context, String filePath) {
Intent scanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
scanIntent.setData(Uri.fromFile(new File(filePath)));
context.sendBroadcast(scanIntent);
}
/**
* 通知媒体库更新文件夹
* @param context
* @param filePath 文件夹
*
* */
public void scanFile(Context context, String filePath) {
Intent scanIntent = new Intent(Intent.ACTION_MEDIA_MOUNTED);
scanIntent.setData(Uri.fromFile(new File(filePath)));
context.sendBroadcast(scanIntent);
}