Stop service in an activity

2014-12-19 9:19:39     人阅读    


我通过如下的代码在android中暂停android   service

Intent intent = new Intent(MainActivity.this, UsageRecorderService.class);
stopService(intent);

但是执行后,貌似不起作用,不清楚是哪里出了问题

public class UsageRecorderService extends IntentService {

  public UsageRecorderService() {
      super("UsageRecorder");
  }

  @Override
  protected void onHandleIntent(Intent intent) {

      while (true) {

          UsageRecorder.recordUsages(this, false);

          SystemClock.sleep(10000);
      }
   }
}

如何才能停止一个service

 

处理方法

下面的代码是我在开发中正在使用的.应该没问题

public class UsageRecorderService extends IntentService {

private boolean mStop = false;

public UsageRecorderService() {
super("UsageRecorder");
}

public final Object sLock = new Object();

public void onDestroy() {
synchronized (sLock) {
mStop = true;
}
}


@Override
protected void onHandleIntent(Intent intent) {
while (true) {
synchronized (sLock) {
if (mStop) break;
}
UsageRecorder.recordUsages(this, false);
SystemClock.sleep(10000);
}
}

}


在代码中这样调用

Intent intent = new Intent(MainActivity.this, UsageRecorderService.class);
stopService(intent);


原文地址:http://www.itmmd.com/201412/342.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

Android的:从onRestoreInstanceState调用时AsynchTask失败()   上一篇
下一篇  Android listview 变成 checkbox listview
精彩回复
我要追加问题,请求站长解决!
姓名:       

《程序员app》专门为程序员量身定做!