我是Android服務新手,因此我有一些問題可以闡明我如何在當前項目中使用它們。Android服務基礎知識
1)我是否需要運行我的應用程序才能運行該服務?我必須啓動服務啓動應用程序嗎?
2)我想在服務運行結束時在屏幕上打印文本。首先,是否有可能,第二,當我切換到活動屏幕時,是否可以在活動用戶界面上看到此文本?
3)我希望我的服務使用在主Activity類中實現的變量和函數。可能嗎?
4)與問題3相關:我在當前應用程序中使用TimerTask重複每分鐘的AsyncTask。我想擁有相同的功能,但是這次在用戶忙於做其他事情時在後臺運行。服務是否正確嗎?我可以通過從服務運行我的searchRegularly()(它在Activity中)函數來實現這一點嗎?下面,backgroundSearch
是每分鐘運行的AsyncTask的名稱。
public void searchRegularly() {
TimerTask doAsynchronousTask;
final Handler handler = new Handler();
searchTimer = new Timer();
doAsynchronousTask = new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
handler.post(new Runnable() {
public void run() {
backgroundSearch = new SearchTask();
backgroundSearch.execute();
}
});
}
};
searchTimer.schedule(doAsynchronousTask, 1000,60000);
}
5)您如何決定使用服務還是IntentService?主要區別是什麼?