我通过以下方式从前台活动中启动服务:
Intent i = new Intent();
i.setComponent(new ComponentName("com.xxx.yyy", "com.xxx.yyy.SyncService"));
ComponentName c = ctx.startService(i);
但是我得到了这个异常
由以下原因引起:java.lang.IllegalStateException:不允许启动服务意图{...}:应用程序处于后台uid NULL
我从前台的应用程序调用startService,因此限制Limits在这里不适用。
如何
如果我手动启动另一个包含该服务的应用程序并将其放在后台,然后从我的应用程序调用该服务,则效果很好。但前提是其他应用程序在后台运行。