码迷,mamicode.com
首页 > 移动开发 > 详细

android: 在sdcard上创建的文件在 windows电脑上不显示的问题

时间:2020-03-11 15:03:27      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:href   new   实现   connect   int   连接   无法   android系统   系统架构   

解决方案:

1. 重启手机;

2. 在写入文件完成的code后面添加:

MediaScannerConnection.scanFile(this, new String[] { file.getAbsolutePath() }, null, null);

3. 每次文件写入完毕后调用下面的方法:

public static void notifySystemToScan(Context context, String filePath) {
        Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
        File file = new File(filePath);

        Uri uri = Uri.fromFile(file);
        intent.setData(uri);
        context.sendBroadcast(intent);
    }

 

Why?

这个问题主要涉及到windows读取android设备盘符及文件传输端口通信的问题。因为系统架构(arm & x86)的差异性,导致无法做到类似于长连接的那种通信机制。总结一句:windows目前还不能实现实时地获取并展示Android系统分区下的文件。

看到这里依然不太明白,可不可以在通俗一点,答案是当然可以。

目前大家插上电脑,通常的连接方式都是MTP。一般在插上电脑的时候,手机的状态栏可以供用户选择是以MTP(媒体设备)方式连接还是以PTP(相机)。通常在进行文件操作的时候,大家会使用MTP,而MTP并非传统的磁盘模式,因为手机存储的速度没有那么快,所以google对MTP建立了一个缓存。每次连接电脑其实都是读取的缓存,如果手机上的文件有更新却没有刷新缓存,就会出问题。

参考链接:

 

android: 在sdcard上创建的文件在 windows电脑上不显示的问题

标签:href   new   实现   connect   int   连接   无法   android系统   系统架构   

原文地址:https://www.cnblogs.com/yongdaimi/p/12462418.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!