【问题标题】:Android : Saving Files to SD CardAndroid : 将文件保存到 SD 卡
【发布时间】:2011-02-03 01:23:25
【问题描述】:

我正在尝试将我的应用程序中的文件保存到设备的外部存储中。具体来说,我正在尝试保存声音。

我已经按照每个“教程”进行了此操作,没有一个对我来说特别令人困惑,但它对我不起作用。根本不会在 SD 卡上创建文件,更不用说实际传输信息了。

我假设我没有得到正确的卡片路径,但无论我尝试了什么,它都不起作用。我尝试只输入“/sdcard/”,以及使用 getExternalStorageDirectory() 方法,以及其他随机实验。

花了半天多的时间在一些看起来如此微不足道的事情上,我什至无法再思考了,所以我希望你能原谅我提供的一些缺乏细节,但任何建议都会对此有所帮助点。

【问题讨论】:

  • 您是否尝试将其保存到 Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC)。在 2.2 及更高版本的设备上,它是 SD 卡上的 Music 文件夹。
  • 我在 2.2.1 上使用 Droid X 作为我的测试设备,我的 SD 上没有音乐文件夹。此外,当我使用您建议的方法时,它会尝试使用路径 /mnt/sdcard/Music。那 /mnt/ 应该在那里吗?我认为它应该以 /sdcard/ 开头。我确实尝试将它硬编码为 sdcard/Music,甚至尝试使用 file(path).mkdirs() 来查看它是否会创建目录,但似乎没有任何改变。

标签: android file save sd-card outputstream


【解决方案1】:

您确定文件没有保存到 SD 卡吗?我以为我遇到了同样的问题。事实证明,我一直正确地保存到 SD 卡,但画廊没有被刷新以显示我刚刚保存的文件。使用 Astro 文件管理器确保文件尚未保存到卡中。如果这是问题所在,请添加此行以刷新图库:

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"
                + Environment.getExternalStorageDirectory())));

【讨论】:

    【解决方案2】:

    这个答案应该会有所帮助:Permission to write on SD card android。不要忘记你需要在你的Android.xml文件中声明<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    【讨论】:

    • 我确实设置了权限,所以对我来说不是这样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-04
    • 1970-01-01
    • 2020-09-30
    相关资源
    最近更新 更多