首页 新闻 会员 周边 捐助

Android中使用定时器出现IllegalMonitorStateException异常

0
悬赏园豆:30 [已关闭问题] 关闭于 2013-05-17 09:06

现在在做一个Android应用,我想用一个定时器Timer对象不断调用webservice,但是想在Activity切换的时候,即触发onPause的时候停止掉这个定时器对象,在onRestart的时候再开启。我的方法是这样的

  @Override
     public void   onPause()
     {
         try {
             timer.wait();
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
        
        }
         Log.i("AAAA", "onPause");
         super.onPause();
     }
     @Override
     public void   onRestart()
     {
         Log.i("AAAA", "onRestart");
         timer.notify();
         super.onRestart();
     }

因为我需要保留定时器请求方法的里面一些数据的状态,所以无法使用cancel()直接注销掉这个定时器再重新新建这种方法。而在上面的方法中,我切换Activity的时候会出现IllegalMonitorStateException异常,网上查了一下说是没有获得对象锁的关系。刚接触Java,对于Java中这个对象锁没什么概念。我的timer对象是在onCreate事件里写的,我想知道我该如何获得这个对象锁,或者有没有其他办法可以实现我的需求,谢谢。

林J的主页 林J | 菜鸟二级 | 园豆:202
提问于:2013-04-11 17:23
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册