title: Restarting killed (stopped by task-killers) services in android like Whatsapp
body: <p>I am working on a app locker which has some background services (to lock apps). I am using Xiaomi Redmi Note 4g for the development. The MIUI has an in-built task manager which can be used to kill running apps. When I kill apps with this, all services, broadcastreceivers and alarmmanagers are getting removed (as expected from a task manager). My requirement is to prevent my background services from getting cleared from task-killers, but if the user navigates to settings and force closes, the service should stop. How do I achieve this?</p>
  
  <p>Btw, I know that its not impossible to achieve this since Whatsapp and Truedialer (some egs) are already doing this on the latest android versions. </p>
  
  <p>My observations from Whatsapp:</p>
  
  <ul>
  <li>I kill the app from the task manager </li>
  <li>All services in Whatsapp are stopped except for "MessagingService" </li>
  <li>The list view of the running apps show status as "Restarting"</li>
  <li>"AlarmService" service starts up (not sure if MessagingService is starting it or from an AlarmManager)</li>
  <li>After a time lag, all services are up and running </li>
  </ul>
  
  <p>Note: The timer on the MessagingService isn't reset and it still keeps on ticking. But if I force stop the service, its not started again until I manually fire the app.</p>
  
  <p>Similar observations are made for TrueDialer.</p>
  
  <p>I have tried to replicate this with START_STICKY, AlarmManager, BroadcastReceiver, but was unsuccessful. Can someone help me on this? I just want to understand how Whatsapp is achieving this. Feel free to ask if you need more info.</p>