为什么startService不会引发IllegalStateException

时间:2019-04-28 04:30:53

标签: android

我在后台调用了startService。我运行该应用程序并将其立即发送到后台,我希望在Android 8中10秒钟后会看到npm update ,但它没有任何异常。在活动的onCreate中:

IllegalStateException

并在服务中:

  final Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
          startService(new Intent(MainActivity.this, TestService.class));
        }
    }, 10000);
}

等级:

   @Override
protected void onHandleIntent(@Nullable Intent intent) {
    int i= 0;
    do {
        Log.i(TAG, "onHandleIntent: "+ i);
        i++;
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    } while (i<100);
}

1 个答案:

答案 0 :(得分:0)

看看:Oreo: startService() doesn't throw IllegalStateException when called in background

应用程序位于前台时,它可以自由创建和运行前台和后台服务。当应用进入后台时,它会显示几分钟的窗口,仍然允许在其中创建和使用服务。