Listen for Phone State changed, two different way: BroadcastReceiver and TelephonyManager
<p>Why to get phone state changed status, android provides two way: BroadcastReceiver with action android.intent.action.PHONE_STATE, and using TelephonyManager with a PhoneStateListener ? </p>

<p>There is a substantial difference on the contents? or change only the method of notification?</p>

<p>I could register a listener with TelephonyManager.listen(PhoneStateListener listener, int events) and handle state in onCallStateChanged(), or alternatively register a BroadcastReceiver for action android.intent.action.PHONE_STATE and handle event in onReceive().</p>

<p>Why and when to prefer one or the other way?</p>
