public class CallStateListener extends PhoneStateListener {
@Override
public void onCallStateChanged(int state, final String incomingNumber) {// incomingNumber为来电号码 if (state == TelephonyManager.CALL_STATE_RINGING) {// 来电 if (box1.isChecked()) {

int flag = mDatabaseHelper.selectByNumber(incomingNumber);// flag为0说明不在白名单中 if (flag == 0) {// 在白名单中没有找到
try {
PhoneUtils.getITelephony(tm).endCall();// 挂断
//PhoneUtils.getITelephony(tm).cancelMissedCallsNotification();//取消未接显示 final String scNumber = getNativePhoneNumber();// 获取当前手机号码
final String info = getSendInfo();// 获取需要发送的内容 
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
// 发送回复信息  ----需要设定一个定时器以免重复发送信息 ----延迟30秒发送信息
sendMessage(scNumber, incomingNumber, info);
// 保存信息到信息箱中
saveMessage(scNumber, incomingNumber, info);
            }
        }, 30*1000); } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }
} }
}一次会发送多条重复的短信 不知道是为什么 求大牛解答Android短信