Clean receivers completely when forceStop the process
when forceStop is called, then the broadcast-receiver will be
cleaned up.However, only receivers of the userId is cleaned.
When the userId is not UserHandle.USER_ALL and the userId of
BroadcastRecord is UserHandle.USER_ALL. Then the receiver of
this BR will not be cleaned up. Thus the receiver of this
process with this userId will be dispatched. What's worse, it
may cause severe problems under multi-user
It should be conflict with the intention of forceStop method
https://code.google.com/p/android/issues/detail?id=259998
Test: am broadcast -a xxx --user, and then force stop the
process responded to action xxx, if this broadcast is stucked
for a while. the process will be started
Change-Id: I38ef4116e16c97f257da37bc08e5ef3f64eff7ef
1 file changed