I want to simulate android killing and restarting my service to test what happens when I receive a null intent and what I need to do with cleanup / recovery. Is this possible?
public MyService extends Service {
@Override
public void onCreate() {
//Do stuff
}
@Override
public void onStartCommand(Intent intent, int flags, int startId) {
if (intent == null) {
//Do stuff for restart
} else {
//Do stuff for normal start
return START_STICKY;
}
}
@Override
public void onDestroy() {
//Cleanup that may never be called!
}
}
Note: I read how-to-simulate-android-killing-my-process. The answers are very useful! But I think my use case is a bit different.
You can use the same method for simulating service kill and restart.
Started the service (
onStartCommand
returns START_STICKY), logcat shows:At this stage, used the following command to kill the process:
The service was restarted immediately (note the new process id and the fact that the intent is null):