I think you can't .....
The app can't run in background. It seems there are some exception as you have seen (location, audio) but they will not suit your needs.
If you need to listen for informations coming from a server, you can write a B4J app on the server that send notifications to the app.
You can follow two methods:
1) remote notifications: the notifications just inform the user that there are new data, the user open the app (or click on the notification) and the app send responce to the server and do what you need.
2) silent notifications: the notification can be invisible but wake-up the app for a short time (I've read 30 seconds or so) to do some tasks and come then back again background.
Hope this help