Since there's no proper way of using abortBroadcast()
, as android.intent.action.PHONE_STATE
is not being received via an ordered broadcast (no sendOrderedBroadcast()
call, but sendBroadcast()
instead – I've simply checked this by calling isOrderedBroadcast()
in my receiver), all receivers must receive this intent "at the same time". But things start happening even before the broadcast.
Furthermore, nothing "legally receivable" happens before the call to sendBroadcast()
, as thoroughly yet briefly described in this blog post. And that, unfortunately, means we'd have to go down to system level and, among other tasks, "abort broadcast before broadcast", either by applying a custom ROM, or otherwise modifying the device.
If you still want to do this, I believe custom ROM may be the way to go. And I so hope to be corrected. Only possible solution and that for rooted devices, in my opinion, lies in finding anything "legally receivable" that comes in time.