When should I define my Android application that does not move to the SD card (installLocation = internalOnly)?

In what cases should I prevent users from transferring my application to the SD card (by setting installLocation to internalOnly )?

I ask to know this for several applications, so please do not ask about my application. I want to know this at all for any application.

+8
android sd-card android-sdcard
source share
4 answers

The requirements are pretty well documented . First of all, if you use something in the background, which should be constantly running, for example, a service, or if you provide widgets, you can run it from external storage. But as soon as the user disconnects the external storage, the process in which these actions are performed will be completed.

+11
source share

If you define android:installLocation="auto" inside manifest inside the AndroidManifest.xml file and then (yes, it should), it will allow the user to move the application to the SD card.

There are three values ​​you can set for android: installLocation:

 android:installLocation="auto" android:installLocation="internalOnly" android:installLocation="preferExternal" 
+8
source share

The Android documentation has a pretty complete list about it - http://developer.android.com/guide/appendix/install-location.html

The key point is that when the user starts using the device as a USB drive, Android will kill everything related to your application. So, everything that should work in the background for proper operation or should use external storage should not be placed on the SD card.

+2
source share

Check out this app on PS.

The service should not stop, and it should work all night. In such scenarios, as suggested by Peter Lilwold. We must explicitly specify android:installLocation="internalOnly"

0
source share

All Articles