手机插上电脑,看不到新增的文件的解决方案
来源:互联网 发布:cad编程视频 编辑:程序博客网 时间:2024/04/30 08:49
把android手机插上电脑,有的时候会看不到你想看到的文件,例如:new File产生的文件,某些软件下载同步的文件。
这让人很恼火,在网上搜索了一下,有几个行之有效的方案:
1,重启手机----笔者测试通过
2,如果是外置SD卡,在“设置”->"存储"里,选择卸载SD卡,然后再挂载----笔者写这篇文章的时候,还没有测试,晚上会进行测试并更新测试结果。
3,在“设置”->"存储"里,“内部存储空间”这个栏目里,有个一个刷新的按钮,点击它----笔者测试通过。
4,下载一个软件SDRescan,在插上电脑之前运行一下----笔者没有测试,据一些网友反馈是可行的,但是目前尚不支持android4.4。
5,如果你是连接上之后,所有文件都看不见了,那么,你需要查看所有应用,找到“媒体存储”这个应用(英文大概叫做MediaStorage,没有严格的求证),检查是否已经启用。
然后执行方案3。
有了上述的解决办法,我们来讨论下这个问题的来龙去脉:
目前大家插上电脑,通常的连接方式都是MTP。一般在插上电脑的时候,手机的状态栏可以供用户选择是以MTP(媒体设备)方式连接还是以PTP(相机)。
通常在进行文件操作的时候,大家会使用MTP,而MTP并非传统的磁盘模式,因为手机存储的速度没有那么快,所以google对MTP建立了一个缓存。
每次连接电脑其实都是读取的缓存,如果手机上的文件有更新却没有刷新缓存,就会出问题。
我们目前讨论的就是上面这个现象造成的问题。
Google的一些开发者给出的方案是:在创建文件的时候,添加一行代码:
MediaScannerConnection.scanFile(this, new String[] { file.getAbsolutePath() }, null, null);这个方法会刷新缓存。参考:https://code.google.com/p/android/issues/detail?id=38282
但是这么一来,其实是把问题推给了所有的android的应用了:你们的app代码写的有问题!
所以大家除了抱怨google之外,能做的就是想办法来刷新这个缓存。思路基本上是:
1,缓存是“媒体存储”这个应用建立的
2,这个应用活着才能正常使用
3,让他死,再活:a,重启,行之有效;b,停止掉再启动这个应用,无效,没有触发刷新;
4,手动刷:卸载设备再重新挂载,对于外置sd卡是有效的,内置的操作简单不了,有其他限制。
5,刷新存储设备,就是上面提到的方案3.
6,集成刷,做成应用来刷,就是上面提到的方案4;
7,自己来,有些开发者根据问题原理,写了一个应用,也可以刷,源代码在:https://github.com/Sarkie/mtpfix
代码是有效的,但是设计的不太好,可以进行优化,有精力、有条件的朋友可以优化一下。
- 手机插上电脑,看不到新增的文件的解决方案
- 【win7】电脑插上手机用的耳机后声音很怪
- 电脑双屏改单屏后看不到文件问题的解决
- 关于为什么在手机的文件管理中看到的文件夹,而在电脑的打开设备查看文件中却看不到
- 手机连接电脑不读手机的终极解决方案
- 网上邻居看不到任何电脑的解法
- 解决win7打开网络看不到局域网的其他电脑/计算机
- 电脑蓝屏的解决方案
- 如果看不到模拟器上的文件怎么办?
- chm文件打开看不到内容的问题
- chm文件打开看不到内容的问题
- chm文件打开看不到内容的问题
- U盘和电脑USB都是好的,可是插上u盘没任何反应!
- 常见的电脑文件备份方式的缺点及解决方案
- android studio 华为手机看不到具体的错误日志
- android studio 华为手机看不到具体的错误日志
- 谁知道如何用电脑改手机内置的文件啊
- 电脑qq发送到手机的文件在哪儿放着
- javaweb学习笔记:Servlet开发中需要注意的几个知识点
- 烟草管理系统配备产品介绍
- socket中的bind的使用探寻
- java内存分配
- 图文混排的实践+输入式动态插入表情
- 手机插上电脑,看不到新增的文件的解决方案
- 关联、组合、聚合、依赖关系比较
- PAT 1072 Gas Station SPFA
- PreferenceActivity手机首选项
- 黑马程序员_java网络编程总结
- Longene的wine-QQ并与windowsQQ聊天记录同步
- 内存泄露调试工具visualleakdetector使用方法
- Balanced Binary Tree
- javaweb学习笔记:Servlet的几个重要的方法