考虑上面的图片。它显示内部存储中的文件夹和文件。我的问题是我无法获得内部存储的绝对路径。我尝试过使用
String path = getFilesDir()。getAbsolutePath();
但它给了我应用程序存储的路径。我的目标是将文件从我的应用程序的私有存储备份到内部存储的顶部。我无法在Web上找到解决方案,也无法在堆栈溢出时找到解决方案。建议解决这个问题!
答案 0 :(得分:6)
Environment.getExternalStorageDirectory();
返回主要共享/外部存储目录。
注意:不要在这里混淆“外部”这个词。此目录最好被视为媒体/共享存储。它是一个文件系统,可以容纳相对大量的数据,并在所有应用程序之间共享(不强制执行权限)。传统上这是一张SD卡,但它也可以作为内置存储器实现,该设备不同于受保护的内部存储器,可以作为文件系统安装在计算机上。
File dir = Environment.getExternalStorageDirectory();
String path = dir.getAbsolutePath();
答案 1 :(得分:0)
只能使用root访问权限。您应该将备份写入外部存储,以使其具有世界可读性。 Android文档说,如果您想要与其他应用共享文件或存储此文件,即使应用程序将被删除,您应该将其保存到外部存储。 Android docs
答案 2 :(得分:0)
我正在使用以下路径访问内部存储的顶部:
-DFOO=parsed_value
为此,您不需要任何root权限。
答案 3 :(得分:0)
尝试一下,
String path = Environment.getExternalStorageDirectory().getAbsolutePath();