android发送短信的问题

guicaizhou 2013-04-12 03:39:31
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();
}
}

}
}

}
}





一次会发送多条重复的短信 不知道是为什么 求大牛解答
...全文
254 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
guicaizhou 2013-04-15
  • 打赏
  • 举报
回复
难道是因为呼叫了几次就发几次短信?
longer262110 2013-04-15
  • 打赏
  • 举报
回复
引用 3 楼 guicaizhou 的回复:
引用 1 楼 longer262110 的回复: 你这不是延迟30秒发送,是每隔30秒发送一次。 timer.schedule 里面是只有两个参数的
哦 对的
guicaizhou 2013-04-12
  • 打赏
  • 举报
回复
引用 1 楼 longer262110 的回复:
你这不是延迟30秒发送,是每隔30秒发送一次。
timer.schedule 里面是只有两个参数的
guicaizhou 2013-04-12
  • 打赏
  • 举报
回复
引用 1 楼 longer262110 的回复:
你这不是延迟30秒发送,是每隔30秒发送一次。
这个是延迟30秒的 但是发了两条一样的信息
longer262110 2013-04-12
  • 打赏
  • 举报
回复
你这不是延迟30秒发送,是每隔30秒发送一次。

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧