粘性服务被终止,并计划在1000毫秒内重新启动,但从未重启

时间:2018-11-19 14:44:20

标签: android android-service

我有一个正在运行的粘性服务,有时会被一条消息杀死:

2018-11-19 06:54:42.208 1602-3282/? I/ActivityManager: Force stopping com.example.myapp appid=10309 user=0: from pid 16033
2018-11-19 06:54:42.208 1602-3282/? I/ActivityManager: Killing 14900:com.example.myapp/u0a309 (adj 200): stop com.example.myapp
2018-11-19 06:54:42.210 1602-3282/? W/ActivityManager: Scheduling restart of crashed service com.example.myapp/.MyService in 1000ms
2018-11-19 06:54:42.217 1602-3282/? I/ActivityManager:   Force stopping service ServiceRecord{ceedda0 u0 com.example.myapp/.MyService}

但是在1000ms之后似乎什么也没发生。

我从哪里开始调查?

来自AndroidManifest.xml

<service
    android:name=".MyService"
    android:enabled="true">
</service>

1 个答案:

答案 0 :(得分:1)

确保您的服务接受 null 意图,并在收到 null 意图时恢复其正在执行的操作。 See here

如果你的华为手机有这个问题,你应该知道这是一个已知问题。华为手机的安卓操作系统在后台服务被杀后不会自动重启,尽管谷歌已经声明了粘性服务。参见示例:

Huawei support center

Stop your Huawei smartphone from killing background apps

Enable Autostart on Huawei Device for Opentalk