Android 安卓:使用定时器定期发送短信,但SMSes会';不停吗?
我想定期重复发送短信,Android 安卓:使用定时器定期发送短信,但SMSes会';不停吗?,android,timer,sms,intervals,repeat,Android,Timer,Sms,Intervals,Repeat,我想定期重复发送短信,处理程序和其他程序可以按照谷歌告诉我的那样使用,但我认为倒计时功能要简单得多。 我将计时器放在一个函数中,并在CountDownTimer的onFinish()函数中调用该函数 问题是,即使按下了“后退”按钮,或我试图通过单击按钮并完成活动(this.finish())来结束它,SMSE仍在不断发送,但没有任何用处 如果我能通过按一个自定义的按钮,找到停止计时器的方法,我的目的就可以实现了 将timer.cancel()放在onClickListener中是强制关闭应用程序
处理程序
和其他程序可以按照谷歌告诉我的那样使用,但我认为倒计时
功能要简单得多。
我将计时器放在一个函数中,并在CountDownTime
r的onFinish()函数中调用该函数
问题是,即使按下了“后退”按钮,或我试图通过单击按钮并完成活动(this.finish())来结束它,SMSE仍在不断发送,但没有任何用处
如果我能通过按一个自定义的按钮
,找到停止计时器的方法,我的目的就可以实现了
将timer.cancel()
放在onClickListene
r中是强制关闭应用程序,而不是停止计时器
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mTextField = (TextView)findViewById(R.id.mTextField);
endbutton = (Button)findViewById(R.id.end);
timerFunc();
}
public void timerFunc()
{
new CountDownTimer(10000,1000) {
public void onTick(long millisUntilFinished) {
mTextField.setText("Next Msg in " + millisUntilFinished/1000);
}
public void onFinish() {
// mTextField.setText("Done!");
// String finalMsg = "Hii at" + System.currentTimeMillis();
// sendMsgFunc(finalNumber, finalMsg);
Toast.makeText(getApplicationContext(), "Message Sent",
Toast.LENGTH_LONG).show();
timerFunc();
}
}.start();
end.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0)
{
// WHAT SHOULD I DO HERE SO THAT I CAN END THIS CURRENT SESSION
OF COUNTDOWN. i.e Stop Sending messages at that interval?
}
});
}
}
如果我想用按钮结束它?代码应该是什么
endbutton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0)
{
cdt.canel();
}
你需要取消倒计时
public final void cancel ()
Added in API level 1
Cancel the countdown.
有一个实例变量CountDownTiemr cdt
然后
然后cdt.cancel()
在onFinish()
中还有timerFunc()
。假设倒计时结束,则再次启动计时器。这就是你想要的吗
Handler
是一个更好的选择。endbutton.setOnClickListener
似乎在onCreate之外如果cdt.cancel()放在endbutton中,应用程序强制关闭,如果单独声明了cancel函数,该函数中应该包含什么?@user3557410发布堆栈跟踪
cdt = new CountDownTimer(10000,1000) {...