都是网上提到的这个PhoneStateListener类,没啥区别,唯一注意的就是写的代码要在super之后
private class MyPhoneStateListener extends PhoneStateListener {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
// TODO Auto-generated method stub
super.onCallStateChanged(state, incomingNumber);
switch (state) {
case TelephonyManager.CALL_STATE_IDLE://空闲
Log.i(TAG, "current state is IDLE.");
break;
case TelephonyManager.CALL_STATE_OFFHOOK://接听
Log.i(TAG, "current state is OFFHOOK.");
break;
case TelephonyManager.CALL_STATE_RINGING://响铃状态
String comePhoneNumber = incomingNumber;//来电手机号
break;
}
}
}
然后添加权限:
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
//9.0之后新出的READ_CALL_LOG
<uses-permission android:name="android.permission.READ_CALL_LOG"/>
OK,完成了