gpt4 book ai didi

android - 如何获取外部存储的路径?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:50:09 25 4
gpt4 key购买 nike

我正在尝试将文件写入手机。

我使用 Environment.getDataDirectory() 了解内部存储的路径,使用 Environment.getExternamStorageDirectory() 了解外部存储的路径。

但是当我使用 Environment.getExternalStorageDirectory() 作为路径时,文件是在内部存储 中创建的。当我使用 Environment.GetDataStorage() 作为路径时,不会创建文件。 (我不确定,但至少我在资源管理器应用程序中找不到它。)

我认为我手机的内部存储被视为外部存储。(在我的例子中,它有 32 GB 的存储量)

我想知道可移动存储(例如 micro SD 卡)路径。我该怎么办?

最佳答案

来自 getExternalStorageDirectory() 的官方文档

Don't be confused by the word "external" here. This directorycan better be thought as media/shared storage. It is a filesystem thatcan hold a relatively large amount of data and that is shared acrossall applications (does not enforce permissions). Traditionally this isan SD card, but it may also be implemented as built-in storage in adevice that is distinct from the protected internal storage and can bemounted as a filesystem on a computer.

因此,它可能不同于设备中的内置存储。

对于您的情况,您可以使用 getExternalStoragePublicDirectory(java.lang.String)

This is where the user will typically place and manage their ownfiles

The path here should be one of DIRECTORY_MUSIC, DIRECTORY_PODCASTS,DIRECTORY_RINGTONES, DIRECTORY_ALARMS, DIRECTORY_NOTIFICATIONS,DIRECTORY_PICTURES, DIRECTORY_MOVIES, DIRECTORY_DOWNLOADS, orDIRECTORY_DCIM. May not be null.

或者,如果您希望在用户卸载您的应用程序时删除您的数据,您可以使用 getExternalFilesDir() .

因为这些文件是应用程序的内部文件,通常不会作为媒体对用户可见。

getFilesDir() 之间也有一些差异和 getExternalFilesDir()

  1. 外部文件并不总是可用:如果用户在计算机上安装或删除外部存储,它们就会消失。有关存储状态的信息,请参阅关于环境的 API。

  2. 这些文件没有强制执行安全措施。例如,任何持有 WRITE_EXTERNAL_STORAGE 的应用程序都可以写入这些文件。

关于android - 如何获取外部存储的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28427267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com