确定是否使用内部或外部Android应用程序

时间:2013-02-13 02:26:39

标签: java android

我一直在阅读我的文件存储位置,我仍然不确定应该采取什么样的路线。我正在编写一个存储图像和pdf的应用程序(总计300MB左右)。我希望将应用程序安装在内部存储上,然后允许用户将pdfs和一些图像存储在那里选择存储。是否有可能允许用户选择他们用于这些文件的存储,即使我在清单中有这个:

android:installLocation="internalOnly" 

基本上我想让用户在应用程序启动时选择它。

如果是,我是否只需要在应用程序中有一个标志,如果用户选择外部,如果外部存储可用,有足够的空间,则将文件保存到它。每次用户打开应用程序时,我都会检查以确保文件可用。如果用户选择内部,则使用openFileOutput。这一切看起来都是正确的,这可能吗?

或者我应该只考虑将其完全内部化,因为如果没有这些PDF和图像,该应用程序将无法使用。

1 个答案:

答案 0 :(得分:0)

听起来您可以将installLocation设置为以下内容以完全按照您的要求完成:

android:installLocation="preferExternal"

来自documentation:

  

如果您声明“preferExternal”,则请求申请   安装在外部存储器上,但系统不保证   您的应用程序将安装在外部存储上。如果   外部存储空间已满,系统会将其安装在   内部存储器。用户还可以在之间移动您的应用程序   两个地点。

如果将其设置为internalOnly,则用户无法将应用程序从内部存储移动到外部存储,因此上述解决方案可能是您的最佳选择。