捕获来电事件
public class YourApplicationPhoneStateListener extends PhoneStateListener { @Override public void onCallStateChanged (int state, String incomingNumber) { /* state can be any of the following: TelephonyManager.CALL_STATE_IDLE TelephonyManager.CALL_STATE_RINGING TelephonyManager.CALL_STATE_OFFHOOK */ } }
TelephonyManager.listen(new YourApplicationPhoneStateListener());
?
public class PhoneStateBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Bundle bundle = intent.getExtras(); int state = bundle.getInt(TelephonyManager.EXTRA_STATE); if (state == TelephonyManager.CALL_STATE_RINGING) { String phoneNumber = bundle.getString(TelephonyManager.EXTRA_INCOMING_NUMBER ); } } }
?
<receiver android:name="package.to.PhoneStateBroadcastReceiver" android:enabled="true"> <intent-filter> <action android:name="android.telephony.TelephonyManager.ACTION_PHONE_STATE_CHANGED" /> </intent-filter> </receiver>
??