1

我有一个 Tile,当它处于活动状态时,它会运行一个计时器,在这五分钟内执行一项任务,然后在一定时间后回到它的非活动状态。

然而,我遇到的问题是服务被杀死。当所述计时器开始时,我已经在打电话startForeground(id)了,但是我的服务仍然被杀死了。我也START_STICKYonStartCommand(intent, flags, startID).

反正有没有绝对防止它被杀死,还是我在这里运气不好?

4

1 回答 1

2

我设法通过使用@CommonWare 的建议解决了这个问题。我将所有逻辑抽象为一个常规类,并从我的 Tile 的服务类中Service调用。startService()

我遇到的一个障碍是弄清楚如何将 Tile 实例获取到新服务(它处理更新 tile 的文本和状态),但通过使用一个Application类来保存对 Tile 的引用来解决这个问题。(TileService每次点击更新此引用,然后调用startService()

这可能不是最干净和最好的方式,但这是我现在选择的方式。

于 2016-07-19T22:43:29.853 回答