我想下载一些文件并将其保存到电话/标签的内部存储中。在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。但是,如今这被认为是草率的编程,因为它鼓励开发人员将文件放置在随机的位置。

10-05 18:05