我正在開發一款Android應用程序,可在應用程序運行時跟蹤背景中的一些內容。我是Android的初學者,所以我會盡力描述我想要做的事情。Android服務在10秒後關閉
的設置: MainActivity,TrackerActivity,TrackerService(該服務包含一個激活鎖定)和TrackerServiceWakeupReciever
這將運行時TrackerService是閉合。
public class TrackerServiceWakeupReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent serviceIntent = new Intent();
serviceIntent.setAction("com.example.android.TrackerService");
serviceIntent.putExtra("action", "checkSound");
context.startService(serviceIntent);
}
}
從TrackerActivity啓動服務的代碼:
Intent serviceIntent = new Intent();
serviceIntent.setAction("com.example.android.TrackerService");
startService(serviceIntent);
當進入應用程序在MainActivity開始,那麼當TrackerActivity會從在MainActivity開始TrackerService獲取TrackerActivity的OnCreate開始。該服務正好運行10秒並關閉。然後TrackerServiceWakeupReciever再次啓動該服務,並再次運行10秒a並循環。
它爲什麼只在10秒內運行?我注意到,如果我快速回到MainActivity並按下睡眠按鈕,服務將繼續運行。即使當設備退出睡眠狀態,服務仍在運行,正如我希望的那樣。
如何解決這個問題?已經用了一個星期的時間弄清楚了。我想這是simpel :)
在此先感謝。 Martin
你是否想讓你的服務停留更長時間或說一段時間? – Rohit 2012-06-01 09:27:40