startService()抛出java.lang.IllegalStateException

时间:2017-06-01 14:22:36

标签: android android-service android-8.0-oreo

来自我的活动的onCreate()

我正在尝试通过以下代码启动服务:

Intent intent = new Intent();
intent.setClassName(SERVICE_PKG_NAME, SERVICE_NAME);
context.startService(intent); //context = MainActivity.this

但是,我收到以下例外情况:

  

java.lang.IllegalStateException:不允许启动服务Intent(service-name):app在后台

知道这可能是什么原因吗?现在坚持几个小时。

1 个答案:

答案 0 :(得分:2)

对于需要从前台应用程序调用Background app服务的情况,我们可以按照以下顺序进行:

  • 首先调用bindService()
  • 在OnServiceConnected()之后由于绑定调用
  • 调用StartService()。