I have an (Android) app that has a background service. This service is persistent and even runs in a different process to the man UI app. It serves a specific propose for the user. However, if it runs when not needed, it may result in unnecessary battery drain. It is not possible always to know if its function is needed, without user assistance.

In order to help deal with this case, the service will push a notification whenever it is running and the UI process is not active. This notification is a "Touch to stop me" type. This enables the user to stop it when they know that they do not need it, without actually disabling the related functionality altogether (via Settings).

The problem is that many (most?) user's just see the notification with the app's icon and think that touching it will bring the app to the front again. This is actually pretty reasonable behaviour and it is clear that the current solution is inappropriate. I would be interested in suggestions for a better interaction design.

  • Could you possibly show us the design of that flow?
    – UXerUIer
    Dec 29, 2015 at 13:13
  • What sort of detail are you looking for?
    – awy
    Dec 30, 2015 at 9:38

2 Answers 2


You could add a "sleep mode" to your app, so that when your users are done with their task, they can elect to put it to sleep so it doesn't consume battery. It's not as in-your-face as a push notification, and a less confusing experience than what you described. But it's something they have to explicitly remember to do or they'll risk battery life.

  • The background service will automatically sleep if not used after a while, and it does lots of stuff to try to be very battery-use lean, but nonetheless it seems to me like the user should have the option to cancel it.
    – awy
    Dec 29, 2015 at 9:17

My solution is as follows:

  1. Have touching the notification (re)start the app, which is in accordance with (many) users' expectation.
  2. Change the notification title and text to indicate that the service is running and that it can be stopped via (the app's) Settings. Thus the notification still points to the reason for it's presence and how to change the state.

Additionally, the service is stopped if the user dismisses the app from the task list (recent apps).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.