Determine if application on foreground - is that frowned upon?
There are lots of reasons why detecting if application is on foreground. for example - as a trigger to GCM/C2DM push notification - lot's of apps would have good reason implementing different behavior when app is foreground and background. Other reason could be - shotting down services consuming precious resources, such as querying servers in background task for instance. Just to be clear: the definition (as I see it) for background app is : application which none of it activities are invoked the onStart() method, and did not invoke yet the onStop() method. that's because activity is visible