我想创建没有“高级任务杀手”可以杀死的服务,或者即使杀死它也会重新启动。
我尝试了以下不起作用的场景:
- START_STICKY
- 为 SMS 注册接收器(不幸的是,它不适用于平板电脑)
任何人都可以用代码建议吗?
解决方案:
尝试使用START_STICKY
并通过使用使服务在前台运行startForeground (int id, Notification notification)
原因: 通过这样做,系统认为它是用户主动意识到的东西,因此即使内存不足,它也不是杀死的候选者。
参考: 查看文档以供参考
我希望它会有所帮助!
您可以尝试使用 Android 服务的 onDestroy() 方法,该方法会在服务被终止后重新启动。
@Override
public void onDestroy() {
Intent serviceIntent = new Intent(context, MyService.class);
context.startService( serviceIntent );
}