complicated way to remove the LocationListener through AlarmManager is too complicated
TODO: keep a list of active requests, use single LocationListener