gpt4 book ai didi

android - 在 Oreo 启动时启动后台服务

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:02:41 25 4
gpt4 key购买 nike

我有一个非常具体的用例。我需要启动一个在 Android 8 中启动时运行 Web 服务器的后台服务。任何人都可以推荐一种实现此目的的方法吗? (在 Android O 中)。

看来你不能再开机启动后台服务了……还有别的办法吗? JobService 还是运行前台服务?我的代码适用于低于 8 的 Android,但它似乎不适用于 O。

list :

<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));

我看过其他类似的问题,但似乎没有一个能回答我的具体问题。我很感激任何指点。

最佳答案

回答

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
context.startForegroundService(new Intent(context, HTTPServerService.class));
} else {
context.startService(new Intent(context, HTTPServerService.class));
}

AndroidManifest.xml中的+权限:

<manifest ...>
...
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
...
<application ...>
...
</manifest>

关于android - 在 Oreo 启动时启动后台服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49169553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com