开发中有一种需求,要求再PC端连接手机端访问里边的数据库文件,连接使用的是MTP模式,怎么都找不到要用的文件。

这里参考: http://www.binkery.com/archives/473.html

解决:

其实 Android 内部已经实现了相关的API ,下面是在网上找到的封装的方法。

 public class MediaScanner {        private MediaScannerConnection mConn = null;        private SannerClient mClient = null;        private File mFile = null;        private String mMimeType = null;        public MediaScanner(Context context) {            if (mClient == null) {                mClient = new SannerClient();            }            if (mConn == null) {                mConn = new MediaScannerConnection(context, mClient);            }        }        class SannerClient implements                MediaScannerConnection.MediaScannerConnectionClient {            public void onMediaScannerConnected() {                if (mFile == null) {                    return;                }                scan(mFile, mMimeType);            }            public void onScanCompleted(String path, Uri uri) {                mConn.disconnect();            }            private void scan(File file, String type) {                Log.e(TAG, "scan " + file.getAbsolutePath());                if (file.isFile()) {                    mConn.scanFile(file.getAbsolutePath(), null);                    return;                }                File[] files = file.listFiles();                if (files == null) {                    return;                }                for (File f : file.listFiles()) {                    scan(f, type);                }            }        }        public void scanFile(File file, String mimeType) {            mFile = file;            mMimeType = mimeType;            mConn.connect();        }    }

使用方式:

    File file = new File(path);    MediaScanner scanner = new MediaScanner(activity);    scanner.scanFile(file, null);

你就可以试试了,可以看到了。这里需要注意的是,如果这个文件夹下没有文件,这个文件夹是不会显示出来的,解决办法:在此目录下创建一个文件(什么文件都行,空文件也行),然后执行这个方法。

更多相关文章

  1. SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
  2. Android(安卓)组件化
  3. Android对ListView控件增删改查
  4. Android(安卓)帧动画 的实现
  5. 在Android中借助TensorFlow使用机器学习(译)
  6. Android(安卓)aar与 jar
  7. 将第三方apk变成系统apk
  8. ubuntu 12.04 build android的问题
  9. Master OpenCV with Pratical Computer Vision Projects——如何

随机推荐

  1. Linux(七):常用命令-文件处理命令-目录处
  2. android启动后根文件系统分析
  3. Nessus-3.0.6【linux漏洞扫描工具】
  4. linux / vi 常用命令(ubuntu环境)
  5. Linux-自己创建动态库静态库
  6. 多队列网卡CPU中断均衡
  7. Linux系统编程——进程间通信:信号中断处
  8. Linux下安装mysql 出现依赖包冲突解决方
  9. ubi文件系统制作,还是"-c"选项的问题
  10. 求GridControl_11.1.0.1.0_Linux_x86-64_