我想下载一些文件并将其保存到电话/标签的内部存储中。在Samsung Galaxy Note 2和Galaxt Tab 10.1上试用。当我在它们上使用/storage/sdcard0/
时,代码可以成功运行,但是当我使用Galaxy Nexus 3
时,代码将失败。
我想获得phoe或tab的内部存储的Absolute Path
的绝对路径。
如果可以的话,有可能吗?
最佳答案
/storage/sdcard0/
不是内部存储。它是外部存储。
(顺便说一句,因为没有名为“Galaxy Nexus 3”的设备,所以我假设您的意思只是“Galaxy Nexus”)
要在应用程序的内部存储中查找位置,请使用getFilesDir()
(在任何Context
(例如Activity
)上调用)来获取File
对象。
要在您的应用唯一的外部存储上找到位置,请使用getExternalFilesDir()
(在任何Context
(例如Activity
)上调用)来获取File
对象。
要在外部存储设备上获取常见文件类型(例如电影)的标准位置,请在getExternalStoragePublicDirectory()
上使用Environment
。
要获取外部存储的根目录,请在getExternalStorageDirectory()
上使用Environment
。但是,如今这被认为是草率的编程,因为它鼓励开发人员将文件放置在随机的位置。