android 下如何判断两个路径实际上是同一个位置的情况

2015-04-18 21:04:37 +08:00
 mengrusheng

大概和Linux的链接有关,android上会出现两个路径实际上是同一个位置的情况,比如部分机型的sd卡路径有 /storage/sdcard0 /storage/emulated/0 两种结果,但是两者指向的是一个目录,如何在代码里区分这种情况呢?

6629 次点击
所在节点    Android
12 条回复
uglyer
2015-04-18 22:58:17 +08:00
写个文件进去看下另一个路径是不是也能读到这个文件 (逃
laotaitai
2015-04-18 23:43:17 +08:00
@uglyer 这个方法简单直白使用, 文件名就是随机名.
acess
2015-04-19 00:13:02 +08:00
linux有个命令realpath,可以对付软链接,但对付不了bind mount
android不太清楚……
churchmice
2015-04-19 00:16:47 +08:00
用 ls -i 比较inode
aaronmix
2015-04-19 00:48:03 +08:00
用Environment.getExternalStorageDirectory().getPath()?
ilotuo
2015-04-19 10:55:44 +08:00
用命令还得两次判断提取返回
前面说的创建一个文件判断 虽然很粗暴但是简单呐
Krime
2015-04-20 08:53:39 +08:00
@ilotuo 这样文件判断的话,如果知道两个目录,只需要验证还好,如果只知道其中一个想找另一个就不太靠谱了
mengrusheng
2015-04-20 13:56:14 +08:00
@uglyer @laotaitai 简单粗暴的方法确实有效 3q
mengrusheng
2015-04-20 13:58:00 +08:00
@acess 这命令不好用 /system/bin/sh: realpath: syntax error
mengrusheng
2015-04-20 13:59:19 +08:00
@churchmice 应该是个好办法 就是略复杂 谢谢
mengrusheng
2015-04-20 13:59:56 +08:00
@aaronmix 那个一般返回的是内置sd卡路径
mengrusheng
2015-04-20 14:00:38 +08:00
@Krime 我的场景就是这样 刚刚好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/184619

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX