我想下载一些文件并将它们保存到手机/标签的内部存储中。在三星 Galaxy Note 2 和 Galaxt Tab 10.1 上试用。当我/storage/sdcard0/
在它们上使用时,代码运行成功,但是当我使用Galaxy Nexus 3
代码时失败。
我想获取 phoe 或 tab 的内部存储的绝对路径Absolute Path
。
有可能吗,如果有怎么办?
当我在它们上使用 /storage/sdcard0/ 时,代码运行成功,但是当我使用 Galaxy Nexus 3 时,代码失败。
/storage/sdcard0/
不是内部存储。它是外部存储。
(顺便说一句,由于没有名为“Galaxy Nexus 3”的设备,我假设您只是指“Galaxy Nexus”)
要为您的应用程序在内部存储上查找位置,请使用getFilesDir()
, 调用任何Context
(例如您的Activity
, 以获取File
对象。
要获取应用程序唯一的外部getExternalFilesDir()
存储位置,请使用, 调用任何Context
(例如您的Activity
, 以获取File
对象。
要在外部存储上为常见类型的文件(例如电影)获取标准位置,请使用.getExternalStoragePublicDirectory()
Environment
要获取外部存储的根目录,请使用on 。然而,现在这被认为是草率的编程,因为它鼓励开发人员将文件放在随机位置。getExternalStorageDirectory()
Environment
为什么不能Environment.getExternalStorageDirectory()
用于从代码中获取/storage/sdcard0/
路径?
还需要添加权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
找到的解决方案是第一次编辑模拟器:
它对我有用,该应用程序不再出错并且工作正常。