I have an Android app that uses the AlarmService. According to the docs, I should not allow installing/moving this app to external storage. Users, however, do not understand this (probably due to very little internal storage on some devices) - and demand the option to install on external storage (via low-star ratings).
I need to re-register the alarms on boot and have a BroadcastReceiver listening for BOOT_COMPLETED. This, however, is not called for applications installed on the sd-card since this is not yet mounted then the intent is fired. EXTERNAL_APPLICATIONS_AVAILABLE is, sadly, also not -- hence I get no notification that we have booted and thus have no change to re-set the alarms.
Is there any way around this predicament?
Sorry, no, this is not something you can get around. This is why we say you should not put apps on SD card that do such things.
Worst-case option: create a second app (that would be light-weight enough to not matter that it cannot be installed on the SD Card) that will listen for the BOOT_COMPLETED event on start-up and will trigger your main app when it is available. Tell the user that they have to install that to get your app to work when it is installed to the SD Card.
If there is a event/trigger that occurs when your app is moved to the SD Card, you could pop up a notification telling them to grab this second app from the market.
I understand that this is a terrible option but it would work if you are desperate.
Well, if the reason the users are asking for the move to SD is because of size constraints (i.e. your app requires a large amount of space) then I'd suggest storing the data your app uses on the SD card but restricting the app install location to internal storage.
Explain to your users if they are asking for things that don't make sense or are technically infeasible on the platform you're developing for: if they continue to ask then I'd say just ignore them. Your star rating will take a hit but agonizing over that won't fix the problem.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With