Android 内置外置存储器区别

内置存储

1.内置存储:在没有root的情况下,普通用户不可见

通过如下代码获取:

Context.getFilesDir().getAbsolutePath();

输出结果:path : /data/user/0/<包名>/files


2.外置存储

这个地方需要注意一下,因为有可能存在两个及两个以上的外置存储器(如:为手机添加SD卡)

2.1 获取外置存储包名路径

通过如下代码获取:

File[] files = Context.getExternalFilesDirs("");

输出结果:files [1]: /storage/emulated/0/Android/data/<包名>/files
files [2]: /storage/3133-3566/Android/data/<包名>/files

2.2 获取外置存储根路径

通过如下代码获取:

File file = Environment.getExternalStorageDirectory().getAbsolutePath();

输出结果:path : /storage/emulated/0

这种情况下,一定会获取到一个外置的存储器根路径,但是是获取到的是默认的外置存储器还是自己拓展的SD根路径,与rom的外置存储器根节点挂载有关,但是在实际编码中不建议使用此方法,因为在4.4以后google不支持应用在除自己包名的路径存储,但国内厂商又支持。

附图:
这里写图片描述


总结:
1. 重要内容当你的信息不希望用户能够触碰到,可以使用内置存储
2. 当你的信息没有那么敏感,建议使用外置存储器包名路径

猜你喜欢

转载自blog.csdn.net/a987687115/article/details/73294437