I have an android application, where I schedule to an event (location update) to be executed in the future using Alarm manager. The scheduled event executes as expected as l
You have to add your app in the Android Settings > Protected Apps section on the phone. This lets the user control which apps to allow running in the background.
You could also write a service to listen to the location broadcasts which will run in the background without problem if you get the necessary permissions.