我想在AsyncTask的doInBackground中每隔一定时间间隔运行一次定期事件。
像这样:
protected Object doInBackground(Object... arg0) {
while (true) {
someThingToDo();
// wait for 1000;
}
}
怎么做?
答案 0 :(得分:1)
您可以使用定时器或闹钟服务。更好地使用闹钟服务,因为它可以在设备处于睡眠模式时触发。
答案 1 :(得分:1)
您需要创建一个单独的类,它是Service类的子类。
http://developer.android.com/reference/android/app/Service.html
您的主应用程序应该可以调用startService和stopService来启动后台进程。还有上下文类中的一些其他有用的调用来管理服务:
否则你可以使用TimerTask()
答案 2 :(得分:0)
试试这个::
class Getphonenumber extends AsyncTask<String, Void, Void> {
public Void doInBackground(String... p) {
while (true) {
someThingToDo();
try {
Thread.sleep(2000);
} catch (Exception ie) {
Log.e("Sleep", "Error: " + ie.toString());
}
}
}
};
答案 3 :(得分:0)
我认为可能需要在AsyncTask中使用类Timer。