Android了解存储路径

时间:2016-10-09 17:08:14

标签: android android-sdcard android-external-storage android-memory internal-storage

我想在手机上保存文件。的 new File(directory, myCustomFolder)

  • 我的文件很大,MP3

1 - Environment.getExternalStorageDirectory()并不总是访问保存文件。在一些没有SD卡的手机上没有可用的东西。 :(

卸载我的文件后,

2 - getFilesDir()取消我的文件。 (不是存储文件的正确位置):(

3 - getCacheDir()在取消我的应用程序后删除我的文件。 (不是存储文件的正确位置):(

4 - getDataDirectory()解除我的应用程序后删除我的文件。 (不是存储文件的正确位置):(

  • 现在,我如何区分正确的地方和安全,并始终可以保存我的文件?
  • 我需要一张SD卡,如果没有,我的文件存储在内部存储器和公共内容(公共意味着没有保存到数据应用程序文件夹)。 ?!!
  • 像WhatsApp和Telegram这样的应用程序如何将文件夹分成两个外部存储器和内部存储器?

请帮帮我。谢谢

2 个答案:

答案 0 :(得分:1)

您始终可以在“下载”文件夹中为应用创建文件夹。它将永远存在。您可以通过Environment.getExternalStoragePublicDirectory(Environment.DI‌​RECTORY_DOWNLOADS)访问它。而且由于你正在保存文件,它甚至使它成为一个更适合存储它的地方,你不这么认为吗?

答案 1 :(得分:0)

Environment.getExternalStorageDirectory()好工作。

解决方案是:android API 23+需要检查危险权限:

https://developer.android.com/training/permissions/requesting.html