我一直在阅读我的文件存储位置,我仍然不确定应该采取什么样的路线。我正在编写一个存储图像和pdf的应用程序(总计300MB左右)。我希望将应用程序安装在内部存储上,然后允许用户将pdfs和一些图像存储在那里选择存储。是否有可能允许用户选择他们用于这些文件的存储,即使我在清单中有这个:
android:installLocation="internalOnly"
基本上我想让用户在应用程序启动时选择它。
如果是,我是否只需要在应用程序中有一个标志,如果用户选择外部,如果外部存储可用,有足够的空间,则将文件保存到它。每次用户打开应用程序时,我都会检查以确保文件可用。如果用户选择内部,则使用openFileOutput。这一切看起来都是正确的,这可能吗?
或者我应该只考虑将其完全内部化,因为如果没有这些PDF和图像,该应用程序将无法使用。
答案 0 :(得分:0)
听起来您可以将installLocation设置为以下内容以完全按照您的要求完成:
android:installLocation="preferExternal"
如果您声明“preferExternal”,则请求申请 安装在外部存储器上,但系统不保证 您的应用程序将安装在外部存储上。如果 外部存储空间已满,系统会将其安装在 内部存储器。用户还可以在之间移动您的应用程序 两个地点。
如果将其设置为internalOnly,则用户无法将应用程序从内部存储移动到外部存储,因此上述解决方案可能是您的最佳选择。