【发布时间】:2015-04-29 10:22:28
【问题描述】:
我写了一个简单的应用程序,它有一个活动和一个服务(在前台运行)。该服务需要做一个周期性的工作,所以我创建一个处理程序,并定期发送处理程序消息。
class ServiceHandler extends Handler {
public ServiceHandler(Looper looper) {
super();
}
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
// do my job here
this.sendEmptyMessageDelayed(1, 15000);
}
}
}
我认为我的工作应该每 15 秒执行一次,只要我的服务没有被用户杀死,就永远不会结束。
但是当我退出活动时(长按菜单键,扫出活动)并关闭屏幕。我的工作似乎是随机执行的(都长于 15s),有时甚至长于 1 分钟。
我认为这可能与android系统电源策略有关。
在这种情况下,我怎样才能让我的工作以固定的时间间隔执行。请帮忙。
【问题讨论】:
标签: android service foreground