我有一個包含按鈕的活動類。當我點擊按鈕時,它啓動一個服務,它將在一個單獨的線程中填充我的SQLite數據庫。服務完成後,我希望我的活動類中的textview能夠顯示數據庫中的新值。Android:如何判斷服務何時完成
我有一切正確設置,我的數據庫正在存儲正確的信息。我仍然困惑的唯一事情是如何告訴我的活動課程該服務已完成?
我有一個包含按鈕的活動類。當我點擊按鈕時,它啓動一個服務,它將在一個單獨的線程中填充我的SQLite數據庫。服務完成後,我希望我的活動類中的textview能夠顯示數據庫中的新值。Android:如何判斷服務何時完成
我有一切正確設置,我的數據庫正在存儲正確的信息。我仍然困惑的唯一事情是如何告訴我的活動課程該服務已完成?
當您的服務完成時,您可以發送廣播。
在你活動的onResume
IntentFilter intentFilter = ; //Look up how to make an intent filter with an action as specified in the below service code
receiver =new BroadcastReceiver();
this.registerReceiver(receiver, intentFilter);
在你活動的onPause
this.unregisterReceiver(receiver);
在您服務。
Intent broadcastIntent = new Intent();
broadcastIntent.setAction("com.blablablaablla.ACTION_REFRESH");
this.sendBroadcast(broadcastIntent);
創建你自己的行動命名爲「mike.intent.DB_POPULATE_DONE」或類似的意圖......它只是一個字符串,您可以在onNewIntent檢查(),如果你選擇。
通過調用Context.startActivity()從Service發送一個Intent。
要接收意圖,請執行Activity.onNewIntent()
我不認爲我想再次調用startActivity()。我只想讓我的控件使用數據庫中的新值進行刷新。 – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 2011-04-19 21:27:52
如何將廣播從服務發送到活動? – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 2011-04-19 20:30:27
更新主評論 – 2011-04-20 13:49:14