Android挂载以点号(.)开头的文件夹或是文件
来源:互联网 发布:人工智能 中科院 编辑:程序博客网 时间:2024/06/06 03:20
使用情境:
如果我说我想要在电脑上能够访问手机SD卡上的某一个目录abc,你们是不是就是去新建一个类似"/mnt/sdcard/abc/"这样目录的文件夹?事实确实如此。不过,如果我们再加一条需求可能情况就不一样了。我想在我们的PC机上可以访问,但手机的设备管理器中是不能够去访问这个目录的,这又该怎么做了呢?
解决方案:
对于上述的问题,我们可以采用在需要创建的目录前面添加一个"."号。如上就可以写成"/mnt/sdcard/.abc/"。这样创建出来的目录在我们的手机上是访问不到的(前提是这部手机没有Root,就算Root了,也没有安装类似Root Explorer这样的软件)。但如果仅仅是这样,我们的PC机也同样访问不到。想要访问此目录,还需对其进行一层的包装。包装的方法如下:
我们可以使用这样的一个类进行包装:
public class SingleMediaScanner implements MediaScannerConnectionClient {private MediaScannerConnection mMs;private File mFile;public SingleMediaScanner(Context context, File f) {mFile = f;mMs = new MediaScannerConnection(context, this);mMs.connect();}@Overridepublic void onMediaScannerConnected() {mMs.scanFile(mFile.getAbsolutePath(), null);}@Overridepublic void onScanCompleted(String path, Uri uri) {mMs.disconnect();}}
上面只是介绍了MediaScannerConnectionClient的一种使用方法,在后期的博客中会对此类做一个详细的介绍和说明。
使用示范:
public class MainActivity extends Activity { private static final String PATH = "/mnt/sdcard/.testDir/"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (!ZFFileSystem.isDirExisted(PATH)) { ZFFileSystem.createDir(PATH); } ZFFileSystem.writeData2SD(PATH + "a.txt", "abcdef".getBytes()); SingleMediaScanner scanner = new SingleMediaScanner(MainActivity.this, new File(PATH + "a.txt")); }}
注意事项:
1. 当前手机与PC的连接方式为MTP连接方式。目前本人亲测的,像魅族、小米这两款手机在连接电脑的时候就会有MTP连接方式的提示。不过也有一些手机或平板是没有的,这时就要在设置—>存储—>点击右上角按钮后选择MTP连接。
源代码下载:
http://download.csdn.net/detail/u013761665/8417407
0 0
- Android挂载以点号(.)开头的文件夹或是文件
- Eclipse 显示以点号(.)开头的文件
- windows7下面新建以 "."开头的文件和文件夹
- 创建以点开头的文件或文件夹
- 删除以"-"开头的文件
- 建立以点开头的文件夹
- windows下建立以.开头的文件夹
- found.000文件夹的问题和以fff开头的怪文件
- [java] 遍历输出D盘文件夹中以a开头的txt文件,并且统计个数
- 【linux】删除以特殊符号开头的文件
- 如何删除以横线“-”开头的文件
- linux下删除以-开头的文件
- Eclipse以 . 开头的文件(Eclipse显示忽略文件)
- 如何建立以点开头或以点结尾的文件夹
- linux 删除以-开头的文件名的文件
- linux编辑或删除以'-'开头的文件
- 在Windows下创建以“.”开头的文件
- 在Windows下创建以点开头的.hatccess文件
- 学习Emacs系列教程(八):查找替换
- [Leetcode]Longest Valid Parentheses
- android的inflate
- 黑马程序员 —— Java基础加强 - 反射
- Solr学习笔记之添加文档
- Android挂载以点号(.)开头的文件夹或是文件
- DPDK
- Python实现优先队列
- (hdu step 2.2.5)三角形(求n个三角形能把平面分成多少部分)
- Spark架构及运行机制
- svn重定向命令
- iOS开发之全局变量
- android混淆代码
- iOS NSTimer的使用