我有這個東西好像用的TimerTask一起重新安排一個計時器,以使我的服務/持續的過程,在不同的時間來執行的非常枯燥的事情......我已經嘗試搜索許多論壇,包括this example這似乎已經爲這個人工作,但當我嘗試在我的服務相同的代碼,我得到以下錯誤:Android開發人員:重新安排Timer和TimerTask
03-04 14:21:41.204:E/AndroidRuntime(336):致命例外:計時器-0
03-04 14:21:41.204:E/AndroidRuntime(336):java.lang.RuntimeException:無法創建處理程序insid Ë線程已經不叫Looper.prepare()
有誰知道這是什麼錯誤意味着,什麼可以是一個可能的解決方案?從我在網上進行搜索關於此錯誤的:它通常當我嘗試做用戶界面的變化,在非UI線程...在我的情況下發生的,我要做的就是發出一個通知,然後調用一個函數reScheduleTimer像這個例子...
任何輸入被理解...
編輯: 這裏是其吹起來的代碼:
public void reScheduleTimer(long duration) {
Log.v(TAG, "Inside reScheduleTimer");
timer.cancel();
timer = new Timer("profileSwitcherTimer", true);
timerTask = new MyTimerTask(); <----
timer.schedule(timerTask, duration);
}
這裏是MyTimerTask類:
public class MyTimerTask extends TimerTask{
private Handler updateUI = new Handler(){
public void dispatchMessage(Message msg) {
Toast.makeText(getApplicationContext(), "Timer Ran", Toast.LENGTH_LONG).show();
}
}
public void run() {
....code that i want execute
showNotification();
reScheduleTimer(60000);
}
}
你能後的代碼塊了該異常被拋出?如果我們能夠看到你已經寫過的內容,那將會更有幫助。 – Robert 2012-03-04 19:41:43
@Robert:編輯原帖與即時通訊與工作的代碼片段... – 2012-03-04 19:57:38