0
private void startUpdateTimerTask() {
TimerTask task = new TimerTask() {
@Override
public void run() {
doUpdate();
}
};
Timer timer = new Timer(true);
timer.schedule(task, ONE_MINUTE_MILLIS, ONE_HOUR_MILLIS);
}
private void doUpdate() {
new AsyncTask<Void,Void,Void>() {
@Override
protected Void doInBackground(Void... params) {
//....Network time-consuming tasks
return null;
}
}.equals();
}
(1)我的問題:當我運行此功能時,會出現RuntimeException的(無活套; Looper.prepare()不叫這個線程上);機器人的思考:在的AsyncTask TimerTask的
因此,我改變:
private void startUpdateTimerTask() {
TimerTask task = new TimerTask() {
@Override
public void run() {
Looper.prepare();
doUpdate();
Looper.loop()
}
};
Timer timer = new Timer(true);
timer.schedule(task, ONE_MINUTE_MILLIS, ONE_HOUR_MILLIS);
}
然後RuntimeException的沒有出現,但doUpdate()只執行一次?
(2)問題:如何實現訪問網絡每1小時更新信息?
**「問:如何實現對網絡的訪問,更新信息,每隔1小時」 ** - 看看使用使用'AlarmManager'重複報警觸發的'IntentService'。 – Squonk
你必須使用'runOnUiThread'。 http://stackoverflow.com/questions/10135353/when-may-we-need-to-use-runonuithread-in-android-applciation – mjosh