IDE Eclipse 使用模拟器
我正在从网络服务下载文件。我将文件保存到SD卡没有问题。然后可以通过文件管理器访问它。
但是,如果没有可用的SD卡,我想将文件保存到内部存储上的“下载”。我似乎无法将文件下载到“下载”,因为它是从浏览器下载的。
但我可以设法将文件保存在内部存储的应用程序目录中。例如data / data / com.example.appname / files /.
问题是这只能通过应用程序访问。
我需要用户可以在下载后查看/打开这些文件。
这可能吗?或者用户是否必须拥有SDCARD?
答案 0 :(得分:1)
这还取决于设备+提供商,有些是锁定的,因此人们根本无法访问其内部存储。
因此,如果您想要迎合没有SD卡的人,请保存在应用程序目录中。如果他们没有root访问权限,则无法访问。你无能为力。
这是非常正常的行为。
最佳做法是警告用户他们的选择:节省SD卡或内部存储。如果你想要,请提及后果。
答案 1 :(得分:0)
查找下载文件夹使用:
File downloadFolder = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
但就像其他人提到的那样,如果不存在SD卡,那么您无能为力,只需向用户发出警告。
在我发布的链接上有很好的例子,说明如何检查目录的存在性和可用性。