项目中遇到一个问题,文件管理器中增加、删除文件夹,连接电脑后文件夹没有同步,郁闷,网上看到很多资料,
1、新建文件夹后同步调用如下方法通知系统刷新:
public void scanPath(String path) {
mIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
mIntent.setData(Uri.fromFile(new File(path)));
mContext.sendBroadcast(mIntent);
}
2、 MediaScannerConnection.scanFile(getContext(), new String[] { file.getParent() }, null, null);
然而万万没想到,调用后pc连接显示 为文件,OMG。这是怎么回事呢? 原来这两方法只针对文件扫描,所以新建的文件夹会显示为文件。
找啊找,终于找到了,执行完新增操作后,调用如下方法通知系统刷新:
public void doMediaScan(Context context) {
Bundle args = new Bundle();
args.putString("volume", "external");
Intent startScan = new Intent();
startScan.putExtras(args);
startScan.setComponent(new ComponentName("com.android.providers.media",
"com.android.providers.media.MediaScannerService"));
context.startService(startScan);
}
完美解决! 需要的可以试试啊,