通过如下代码获取:
Context.getFilesDir().getAbsolutePath();
输出结果:path : /data/user/0/<包名>/files
这个地方需要注意一下,因为有可能存在两个及两个以上的外置存储器(如:为手机添加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. 当你的信息没有那么敏感,建议使用外置存储器包名路径