我有一个正在运行的粘性服务,有时会被一条消息杀死:
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>
答案 0 :(得分:1)
确保您的服务接受 null
意图,并在收到 null
意图时恢复其正在执行的操作。 See here
如果你的华为手机有这个问题,你应该知道这是一个已知问题。华为手机的安卓操作系统在后台服务被杀后不会自动重启,尽管谷歌已经声明了粘性服务。参见示例: