我正在尝试维护 Web 服务和 Android 应用程序之间的数据库同步。 下面的代码可以正常工作,但我遇到了一些问题:
- 每次我进入 App 的主页时,都会启动一个新的无限进程。
- 过程永无止境
任何人都可以按照我的意愿解释如何开始和停止这个过程吗?
我希望此过程每 5 分钟运行一次,但只在应用程序打开时运行一次。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Handler handler = new Handler();
final Runnable r = new Runnable() {
public void run() {
// DO WORK
Mantenimiento();
// Call function.
handler.postDelayed(this, 1000000);
}
};
r.run();
}
最佳答案
要么使用 TimerTask:
http://thedevelopersinfo.wordpress.com/2009/10/18/scheduling-a-timer-task-to-run-repeatedly/ http://android.okhelp.cz/timer-simple-timertask-java-android-example/
或
可以获取 bool 值并在 bool 值为真时运行循环并让其他线程休眠,而在离开应用程序时使 bool 值为假。
关于android - 如何启动/停止Runnable/Handler?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10601145/