Java 确定是使用内部还是外部android应用程序

Java 确定是使用内部还是外部android应用程序,java,android,Java,Android,我一直在阅读我的文件存放在哪里,但我仍然不确定我应该走哪条路。我正在写一个应用程序,将存储图像和pdf的(总计300MB左右)。我想应用程序安装在内部存储,然后允许用户存储PDF和一些图像在那里选择的存储。即使我的清单中有以下内容,是否允许用户仅选择用于这些文件的存储: android:installLocation="internalOnly" 基本上,我希望用户在应用程序启动时选择此选项 如果是,我只需要在应用程序中设置一个标志,表明如果用户选择了外部存储,并且外部存储可用,那么就有足够

我一直在阅读我的文件存放在哪里,但我仍然不确定我应该走哪条路。我正在写一个应用程序,将存储图像和pdf的(总计300MB左右)。我想应用程序安装在内部存储,然后允许用户存储PDF和一些图像在那里选择的存储。即使我的清单中有以下内容,是否允许用户仅选择用于这些文件的存储:

android:installLocation="internalOnly" 
基本上,我希望用户在应用程序启动时选择此选项

如果是,我只需要在应用程序中设置一个标志,表明如果用户选择了外部存储,并且外部存储可用,那么就有足够的空间,然后将文件保存到该应用程序中。每次用户打开应用程序时,我都会检查以确保文件可用。如果用户选择internal,它将使用openFileOutput。这一切似乎都是正确的,这是可能的吗


或者我应该只考虑让它完全是内部的,因为没有这些PDF和图像,应用程序是不可用的。

< P>听起来好像你可以设置安装位置来完成你想要的:

android:installLocation="preferExternal"

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

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