如您所知,这就是我们触发 a 的方式JobIntentService
:
JobIntentService.enqueueWork(this,
MyJobIntentService.class,
JOB_ID,
intent);
在这种方法中,我们知道要启动哪个服务并将其类传递给方法。
这是我的问题:有什么方法可以 隐式启动服务?
为什么我需要这个?我正在开发一个库,有时应该启动开发人员扩展的服务,显然我无法从库中访问它
我试过什么?我使用IntentService
(使用意图过滤器)实现了它,并且在 O 之前的设备上运行良好,但对于 Android Oreo,我收到了这个崩溃日志:
致命异常:java.lang.IllegalStateException:不允许启动服务 Intent { act=someAction pkg=somePackage (has extras) }:应用程序在后台 uid UidRecord{de24eda u0a238 RCVR idle procs:1 seq(0,0,0) }
所以我搬到了JobIntentService
,现在的问题是我不能隐式启动它。
任何解决方案或替代方案将不胜感激。