我什么时候应该将我的Android应用程序定义为不能移动到SD卡(installLocation = internalOnly)?

时间:2011-07-01 10:52:39

标签: android sd-card android-sdcard

在哪些情况下,我应该禁止用户将我的应用移至SD卡(将installLocation设置为internalOnly)?

我要求了解一些应用程序,所以请不要问我的应用程序。我想知道任何应用程序的一般情况。

4 个答案:

答案 0 :(得分:11)

要求非常好described in the documentation。首先,如果您在后台运行任何必须始终执行的任何操作,例如服务,或者如果您提供小部件,则可以从外部存储运行。但是一旦用户卸载外部存储,运行这些内容的过程就会终止。

答案 1 :(得分:8)

如果您在AndroidManifest.xml文件中的android:installLocation="auto"内定义manifest 然后(是的必须),它将允许用户将应用移动到SD卡选项

你可以设置3个值到android:installLocation属性:

android:installLocation="auto"
android:installLocation="internalOnly"
android:installLocation="preferExternal"

答案 2 :(得分:2)

Android文档有一个非常全面的列表 - http://developer.android.com/guide/appendix/install-location.html

关键是当用户开始将设备用作USB驱动器时,Android会终止与您的应用相关的所有内容。因此,任何必须在后台运行才能正常运行或必须使用外部存储器的东西都不应放在SD卡上。

答案 3 :(得分:0)

查看PS上的this应用。

  

服务不能停止,它应该整夜运行。在Peter Lillevold建议的这种场景中。我们必须明确提到android:installLocation="internalOnly"