AFAIK, you can respond to CONNECTIVITY_ACTION
via a manifest-registered receiver. There are a few broadcasts where you cannot (e.g., ACTION_BATTERY_CHANGED
). This would eliminate your need to get control at boot time.
You can enable and disable that receiver based on the preference, so you do not get control when it is not needed.