保持 TileService 活跃?
Keeping a TileService active?
我有一个 Tile,当它处于活动状态时,会运行一个计时器,在这五分钟内执行一项任务,然后在一定时间后返回到非活动状态。
我 运行 遇到的问题是服务被终止。当所述计时器启动时,我已经在调用 startForeground(id)
,但我的服务仍然被终止。我也从 onStartCommand(intent, flags, startID)
.
返回 START_STICKY
有没有办法绝对防止它被杀死,还是我运气不好?
我通过@CommonWare 的建议设法解决了这个问题。我将所有逻辑抽象为常规 Service
class,并从我的 Tile 服务 class.
调用 startService()
我 运行 遇到的一个障碍是弄清楚如何将 Tile 实例获取到新服务(处理更新磁贴的文本和状态),但通过使用 Application
class 保存对 Tile 的引用。 (TileService
在调用 startService()
之前每次点击时更新此引用)
这可能不是最干净、最好的方法,但这是我现在选择使用的方法。
我有一个 Tile,当它处于活动状态时,会运行一个计时器,在这五分钟内执行一项任务,然后在一定时间后返回到非活动状态。
我 运行 遇到的问题是服务被终止。当所述计时器启动时,我已经在调用 startForeground(id)
,但我的服务仍然被终止。我也从 onStartCommand(intent, flags, startID)
.
START_STICKY
有没有办法绝对防止它被杀死,还是我运气不好?
我通过@CommonWare 的建议设法解决了这个问题。我将所有逻辑抽象为常规 Service
class,并从我的 Tile 服务 class.
startService()
我 运行 遇到的一个障碍是弄清楚如何将 Tile 实例获取到新服务(处理更新磁贴的文本和状态),但通过使用 Application
class 保存对 Tile 的引用。 (TileService
在调用 startService()
之前每次点击时更新此引用)
这可能不是最干净、最好的方法,但这是我现在选择使用的方法。