我通过以下方式从前台活动启动服务:
Intent i = new Intent();
i.setComponent(new ComponentName("com.xxx.yyy", "com.xxx.yyy.SyncService"));
ComponentName c = ctx.startService(i);
但我得到了这个例外
引起:java.lang.IllegalStateException:不允许启动服务Intent :app在后台uid NULL
我从我的应用程序中调用startService,它位于前台,因此限制Limits不适用于此处 .
HOWEVER
如果我手动启动其他应用程序,其中包含服务并将其放在后台,然后从我的应用程序调用该服务,工作正常 . 但只有当其他应用程序在后台运行时 .