我有一个非常具体的用例。我需要在Android 8中启动一个后台服务,在启动时运行Web服务器。有人能推荐一种实现这个目标的方法吗?(在Android O中)。
似乎你不能再在启动时启动后台服务了...还有其他方法吗?JobService或者运行前台服务代替?我的代码在Android 8以下可以工作,但在O上似乎不起作用。
清单文件:
<receiver android:name=".ServiceStarter" android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
ServiceStarter (扩展 BroadcastReceiver
):
@Override
public void onReceive(Context context, Intent intent) {
HTTPServerService.startService(context);
}
HTTPServerService.startService()
context.startService(new Intent(context, HTTPServerService.class));
我看过其他类似的问题,但没有一个能够解决我的具体问题。我会感激任何指点。