目前我正在使用定时器每隔一段时间执行一些功能。但是,以后想改变执行函数的间隔时,就不能取消之前的schedule了。这怎么能解决?谢谢 最佳答案 使用timer.cancel()方法,您可以取消计时器和所有计划任务。(参见APIdocumentation)或者您可以在TimerTasktimertask.cancel()上调用取消方法(参见APIdocumentation)如果您想更改预定时间,您应该取消TimerTask并添加一个新的TimerTask。 关于android-如何取消计
只是在我的mainActivity的onCreate中测试一个简单的代码块:Timertimer2=newTimer();TimerTasktesting=newTimerTask(){publicvoidrun(){Toast.makeText(mainActivity.this,"test",Toast.LENGTH_SHORT).show();}};timer2.schedule(testing,1000);不过我收到了“强制关闭”错误。什么给了? 最佳答案 好吧,对于遇到此问题的任何其他人,我通过使用Handler和Runn
我尝试在服务中发送短信。如果未发送短信意味着我会在一段时间后重新启动服务,为此我使用计时器。如果发送短信意味着我想停止计时器,为了停止计时器我使用timer.cancel();在此之前,我必须检查计时器是否正在运行。如何检查它?。intresultCode=getResultCode();switch(resultCode){caseActivity.RESULT_OK:timer.cancel();//HereIwanttochecktimerrunningornotbreak;caseSmsManager.RESULT_ERROR_GENERIC_FAILURE:timer_run
我编写了一个连接到服务器并向他发送ping命令的应用程序,服务器使用pong命令进行应答。我想实现连接超时机制。我认为它将如下:客户端发送ping并使用timertask和delay启动计时器当客户端收到pong时,timertask被取消。另外,我想优化内存。所以,不要在我每次发送ping命令时都重新创建TimerTask。我尝试下面的代码:privatefinalTimermSystemLogoutTimer=newTimer();privatefinalTimerTaskmLogoutTask=newTimerTask(){@Overridepublicvoidrun(){mMe
我想通知用户回答每周的问题。即使我的应用程序没有运行,我也需要向用户发送通知。通知将每周发送一次。当用户单击通知时,我的应用程序将打开。我通过Timer和TimerTask()尝试了这个。这会在我的应用程序运行时通知用户。我如何在应用程序未运行时向用户发送通知。谁能帮帮我? 最佳答案 以下代码将Alarmmanager与BroadcastReceiver结合使用,这将帮助您实现您的需求。在您的Activity中:Intentintent=newIntent(MainActivity.this,Receiver.class);Pend
我试图做的是在每次计数器变为5的倍数时减少定时器延迟。但是,一旦代码进入ifblock,它就会停止递增计时器。我不明白发生了什么。这是代码thread=newThread(){publicvoidrun(){try{if(count%5==0)timre--;else{//donothing}//*******PROGRESSUPDATE********//for(t=0;t 最佳答案 线程(和sleep())在android中很棘手。尝试使用CountDownTimer相反CountDownTimercounter;startTi
我试图让我的倒计时应用程序执行其更新我当前时间和日期TextView的功能,并每秒触发其MyOnItemSelectedListener,以便该应用程序动态倒计时,而不是仅在启动onCreate时倒计时。如果有更有效的方法然后快速触发MyOnItemSelectedListener我将不胜感激批评。publicclassTheCountextendsActivity{TextViewdescription=null;TextViewdates=null;TextViewtimes=null;TextViewoutput=null;TextViewcDateDisplay=null;Te
以下是我在我的项目中用来安排任务的代码fragmentmTimer=newTimer();mTimer.schedule(newTimerTask(){@Overridepublicvoidrun(){//DoSomething}},interval,interval);这很好用。我在提到的时间间隔后得到事件。但是,如果日期设置小于当前设置,则无法发送任何事件。有谁知道为什么会发生这种行为? 最佳答案 Timer在您更改系统时钟时失败,因为it'sbasedonSystem.currentTimeMillis(),这不是单调的。Ti
我正在考虑设置两个单独的警报来每小时收集用户的位置数据,一个警报每59分钟响一次以“连接”客户端,另一个警报实际获取位置然后断开客户端连接。就电池生命周期而言,如果获取用户位置将成为应用程序的主要消耗,我是否应该考虑做其他事情?或者,是否有不同的方法来设置两个警报?我最初只有一个警报,但执行(!mLocationClient.isConnected)然后连接检查没有给客户端足够的时间进行连接。感谢您的见解。这两个警报会像这样响起:privateintPERIODIC_UPDATE=60000*60;//getslocationanddisconnectseveryhourprivate
我想知道取消后是否可以重新安排计时器。这里说,http://www.coderanch.com/t/452066/java/java/Exception-timer-IllegalStateException,一旦你取消了定时器,就不可能在同一个定时器上安排任何事情,除非我创建一个新的定时器。而且,我遇到了以下错误,java.lang.IllegalStateException:Timerwascancelled.我正在尝试推出一个可以定期执行Wifi扫描的计时器。但是我希望“暂停”或者如果不是,则在扫描后执行某些计算时取消计时器。只有在它完成计算并返回一些结果后,我才会恢复计时器。谁