【发布时间】:2013-08-15 12:23:25
【问题描述】:
我需要实现一个常规的heartbeat。
heartbeat 本身就是对我的服务器的简单HTTP-GET 调用。
问题是只要我的应用程序处于打开状态,我就想发送它。当我关闭应用程序时,发送应该停止。
我阅读了一些关于 Services 和 AlarmManager 的内容,但是在浏览我的应用活动时如何调用/停止它们?
This also 看起来不错,但仍然是同样的问题:
final Handler handler = new Handler();
Runnable runable = new Runnable() {
@Override
public void run() {
try{
//do your code here
//also call the same runnable
handler.postDelayed(this, 1000);
}
catch (Exception e) {
// TODO: handle exception
}
finally{
//also call the same runnable
handler.postDelayed(this, 1000);
}
}
};
handler.postDelayed(runable, 1000);
有人可以发布一个很好的例子或链接吗?
谢谢!
【问题讨论】:
-
您可以随时尝试线程...或 AsyncTask... 或服务...
-
只需使用 TimerTask 每隔一段时间发送一次此命令,然后重写 onStop() 和 onDestroy() 方法并删除您的 TimerTask。
-
我更新了我的问题,希望能减少糟糕投票的风暴 :)
-
第二次 HTTP 请求会耗尽电量。重新考虑这个设计。
-
@SevaAlekseyev 感谢您的输入,但它不适用于手机,因此没有电池 :)
标签: java android http android-service