Android获取外部存储绝对path

我想下载一些文件并将其保存到手机/标签的内部存储器中。 尝试三星Galaxy Note 2和Galaxt选项卡10.1。 当我使用/storage/sdcard0/时,代码运行成功,但是当我使用Galaxy Nexus 3 ,代码失败。

我想获得phoe或tab的内部存储Absolute PathAbsolute Path

如果有的话,有可能如何?

Solutions Collecting From Web of "Android获取外部存储绝对path"

当我使用/ storage / sdcard0 /时,代码运行成功,但是当我使用Galaxy Nexus 3时,代码失败。

/storage/sdcard0/不是内部存储器。 这是外部存储。

(顺便说一句,既然没有名为“Galaxy Nexus 3”的设备,我假设你只是指“Galaxy Nexus”)

要在您的应用程序的内部存储上查找位置,请使用getFilesDir() ,在任何Context (例如您的Activity getFilesDir()用以获取File对象。

要获取外部存储器上的唯一位置,请使用getExternalFilesDir() ,在任何Context (例如Activity getExternalFilesDir()用以获取File对象。

要在常见types的文件(例如,电影)上获取外部存储的标准位置,请在Environment上使用getExternalStoragePublicDirectory()

要获取外部存储的根目录 ,请在Environment上使用getExternalStorageDirectory() 。 然而,现在这被认为是拙劣的编程,因为它鼓励开发人员将文件放在随机位置。

为什么不能使用Environment.getExternalStorageDirectory()从代码中获取/storage/sdcard0/path?

还需要添加权限

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

find的解决scheme是第一次编辑模拟器:

  1. 转到Android虚拟设备pipe理器,然后编辑模拟器
  2. 设置为100 MB的SD d卡的尊重仿真器,说好吧
  3. 保存并closures模拟器并启动

它为我工作,该应用程序不再提供一个错误,并正常工作。