Is there something like an application
  global onPause() and onResume()?
No, sorry.
My main activity listens for GPS
  fixes, which I want to continue
  working when switching to another
  screen/activity. Therefor I cannot
  unregister my LocationListener in the
  activity's onPause(). However I still
  want to unregister my GPS listener
  when switching to another application
  (so save battery) and turning it back
  on when returning to my application,
  regardless what screen/activity the
  user is currently in.
Here's one possible approach:
Step #1: Move the LocationListener logic into a Service, which the activities connect to via the local binding pattern or something. Also have at least one service call startService(), so an unbindService() won't cause the Service to go away (assuming you're using the local binding pattern).
Step #2: Have the activities call into the service during onPause() and onResume().
Step #3: Have the service maintain a reference count of outstanding activities.
Step #4: When the reference count reaches zero, have the service arrange to get woken up via a Timer and TimerTask. Also, cancel any such outstanding TimerTask if the reference count gets incremented.
Step #5: Have the TimerTask shut down GPS if it ever gets executed.
The net is that you will only release GPS after such-and-so amount of inactivity. That inactivity could be for any reason.