android5.0 手机中,缓存文件不能实时刷新问题,解决办法.
来源:互联网 发布:itools 3 mac 破解版 编辑:程序博客网 时间:2024/05/21 10:35
public class MtpUtils { private static final String ACTION_MEDIA_SCANNER_SCAN_DIR = "android.intent.action.MEDIA_SCANNER_SCAN_DIR"; private static final Logger logger = LoggerFactory.getLogger(MtpUtils.class); /** * Intent.ACTION_MEDIA_SCANNER_SCAN_FILE:扫描指定文件 * * @param context Context * @param filePath 文件路径 */ public static void scanFileAsync(Context context, String filePath) { Intent scanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); scanIntent.setData(Uri.fromFile(new File(filePath))); context.sendBroadcast(scanIntent); } /** * 刷新MTP,刷新指定文件夹路径下的所有文件(只是根目录下的文件) * * @param context Context * @param dir 文件夹路径 */ public static void scanMtpAsync(Context context, String dir) { File[] files = new File(dir).listFiles(new FileFilter() { @Override public boolean accept(File pathname) { return pathname.isFile(); } }); logger.error("MtpUtils:指定路径下文件:{}", files+""); String[] paths = new String[files.length]; for (int co = 0; co < files.length; co++) { paths[co] = files[co].getAbsolutePath(); logger.error("MtpUtils:{}", paths[co]+""); scanFileAsync(context, paths[co]); } } /** * 刷新MTP,刷新整个sdcard目录下,消耗资源 * * @param context Context */ public static void scanMtpAsync(Context context) { String dir = "/sdcard/"; File[] files = new File(dir).listFiles(); logger.error("MtpUtils:指定路径下文件:{}", files+""); String[] paths = new String[files.length]; for (int co = 0; co < files.length; co++) { paths[co] = files[co].getAbsolutePath(); logger.error("MtpUtils:{}", paths[co]); if (new File(paths[co]).isDirectory()) { scanMtpAsync(context, paths[co]); logger.error("MtpUtils:是文件夹:{}", paths[co]+""); } else { logger.error("MtpUtils:是文件:{}", paths[co]+""); scanFileAsync(context, paths[co]); } }}
}
用法:
在需要导出文件的时候,在导出的完成后的逻辑后面加上:
MtpUtils.scanMtpAsync(this, "/sdcard/导出/");//刷新指定目录下的所有文件.
这个时候插上usb线,连接电脑,就不用再在改目录下面新建一个文件夹来采用强制刷新的方式来刷新出来文件了!
阅读全文
0 0
- android5.0 手机中,缓存文件不能实时刷新问题,解决办法.
- dwr2.0反转ajax在IE中不能实时刷新问题
- KnockoutJs (二)实时刷新,数组不能刷新解决办法
- setIcon不能刷新图片问题的解决办法。
- php+ajax实时刷新数据库信息遇到的缓存问题
- 解决Ajax请求获取数据不能实时刷新问题
- 关于android 百度地图api 不能实时刷新的问题
- 关于android 百度地图api 不能实时刷新的问题
- Qt QGLWidget 不能够实时刷新的问题
- 对于支持上传文件的手机浏览器出现的图片不能预览问题的解决办法
- FragmentPagerAdapter中Fragment不能刷新问题
- 华为手机不能创建文件问题
- Android】开发中TabHost切换实时刷新的问题
- androd添加或删除文件不能实时更新问题
- 关于android5.0以上逐帧动画不能正常播放解决办法
- OPcache 文件缓存刷新
- Maven工程中jetty插件运行web应用时静态资源文件修改不能实时生效的问题
- PageAdapter不能刷新问题
- elasticsearch中ANSJ中文分词处理
- 记录一下我目前的知识体系
- 文件上传与下载--springmvc版本上传
- 设计模式---观察者模式
- 两个Fragment之间的跳转(例给Fragment加动画跳转)
- android5.0 手机中,缓存文件不能实时刷新问题,解决办法.
- 利用TensorFlow Object Detection API 训练自己的数据集
- js数据结构之优先队列和循环队列
- MySQL理解索引、添加索引的原则
- 使用浏览器,我有特别的技巧
- Spring(一)Spring IOC容器配置详解——基于xml文件形式
- 一元二元演示
- less的使用
- JavaScript/jQuery中函数调用加不加括号,加不加引号的解析