I can't really think of the best way to ask this so I will use a PC analogy.
Say I have a tray app that has no window. It has a global keyboard hook though, and it can watch for a particular key sequence. The app is notified by the user when they type Ctrl+Shift+s and it then captures the screen to a file in the background. The GUI isn't changed by the tray app and the current program never looses focus.
The communication to the service only needs to be a simple trigger.
Say I have a tray app that has no window. It has a global keyboard hook though, and it can watch for a particular key sequence. The app is notified by the user when they type Ctrl+Shift+s and it then captures the screen to a file in the background. The GUI isn't changed by the tray app and the current program never looses focus.
The communication to the service only needs to be a simple trigger.