【问题标题】:How to get absolute path of Internal Storage in Android如何在Android中获取内部存储的绝对路径
【发布时间】:2017-10-06 17:15:50
【问题描述】:

Internal Storage Path

考虑上面的图片。它显示内部存储中的文件夹和文件。我的问题是我无法获得内部存储的绝对路径。我试过使用

字符串路径 = getFilesDir().getAbsolutePath();

但它为我提供了我的应用程序存储路径。我的目标是将文件从我的应用程序的私有存储备份到内部存储的顶部。而且我无法在网络上找到解决方案,也无法在堆栈溢出上找到解决方案。建议解决这个问题!

【问题讨论】:

标签: android internal-storage


【解决方案1】:

Environment.getExternalStorageDirectory();

返回主要的共享/外部存储目录。

注意:不要被这里的“外部”一词所迷惑。最好将此目录视为媒体/共享存储。它是一个文件系统,可以保存相对大量的数据,并且在所有应用程序之间共享(不强制执行权限)。传统上这是一张 SD 卡,但它也可以作为设备中的内置存储实现,不同于受保护的内部存储,并且可以作为文件系统安装在计算机上。

File dir = Environment.getExternalStorageDirectory();
String path = dir.getAbsolutePath();

【讨论】:

  • 我想要内部存储路径而不是外部存储路径
  • 相信我,这是内部存储。
  • 如果我有内部存储和 SD 卡怎么办?
  • 它将为您提供内部共享存储目录。试一试!
  • @JayDangar 在 android 编程术语中,内部存储是指应用程序私有的存储空间,外部存储是指应用程序外部的存储空间。通常,设备存储被认为是主要的外部存储。您不能直接访问辅助外部存储。为此,您需要使用存储访问框架。
【解决方案2】:

只有通过 root 访问才有可能。您应该将备份写入外部存储以使其全球可读。 Android 文档说,如果您想与其他应用程序共享文件或存储此文件,即使在应用程序将被删除后,您也应该将其保存到外部存储中。 Android docs

【讨论】:

  • 其实我是说内部存储的顶部不是root
  • @Dilazak external 并不意味着您会将其存储在 sdcard 上。我建议您按照 Android 文档的建议进行操作。将共享文件存储在外部存储上,将私有文件存储在内部
【解决方案3】:

试试这个,

String path = Environment.getExternalStorageDirectory().getAbsolutePath();

【讨论】:

    猜你喜欢
    • 2015-12-18
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多