If you have a read of the Activity Lifecycle documentation onStop is only called when the current activity is replaced by a new (or previous) one.
For that to happen the other application has to start or resume... otherwise there would be a gap
onPause of the current activity is (I would expect) called before the onStart of the replacing Activity