Android获取外部存储绝对path

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

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

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

  • 有一个最大的大小android应用程序的内部存储分配?
  • Android:无法确保目录
  • Android的SharedPreferences限制?
  • Android:在卸载时从外部存储删除应用关联的文件?
  • Android模拟器内部存储在哪里?
  • 如何在Android内部存储上创build文件?
  • Android内部存储更新应用程序时
  • Android / Eclipse:我在哪里可以find/Users/USER_NAME/.android/debug.keystore文件夹?
  • 当我使用/ 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模拟器并启动

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