有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java决定是使用内部还是外部安卓应用程序

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

安卓:installLocation="internalOnly" 

基本上,我希望用户在应用程序启动时选择此选项

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

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


共 (1) 个答案

  1. # 1 楼答案

    听起来,您可以按如下方式设置installLocation,以完全实现您想要的功能:

    android:installLocation="preferExternal"
    

    来自documentation:

    If you declare "preferExternal", you request that your application be installed on the external storage, but the system does not guarantee that your application will be installed on the external storage. If the external storage is full, the system will install it on the internal storage. The user can also move your application between the two locations.

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