1

我有一个服务,它在方法期间为它创建一个HandlerThread和一个。该处理程序用于同一方法中,该方法按预期在该后台线程上正常执行。在服务上,处理程序用于发布不同的,并正常退出。HandleronCreatepostRunnableonStartCommandRunnable

问题是该方法中的Runnable张贴onStartCommand永远不会被调用。

@Override
public void onCreate() {
  super.onCreate();
  HandlerThread thread = new HandlerThread("BackgroundThread");
  thread.start();
  Looper looper = thread.getLooper();
  handler = new Handler(looper);
  handler.post(new Runnable() {
      @Override
      public void run() {
          methodThatGetsExecuted();
      }
  });
}

@Override
public int onStartCommand(final Intent intent, int flags, int startId) {
  handler.post(new Runnable() {
    public void run() {
      methodThatNeverGetsCalled();
    }
  });
  return START_REDELIVER_INTENT;
}
4

0 回答 0