我有一個IntentService
永遠運行,因爲我使用無限的while循環。但是,當我關閉我的應用程序時,服務終止。也許我錯了,但據我所知,IntentService
應該在後臺運行,直到它完成任務。Android:IntentService終止
此外,由於我使用無限while循環,服務應該永遠運行。但顯然這不是正在發生的事情。
public class TaskNotifierService extends IntentService {
public static final String TAG="TaskNotifierIS";
public TaskNotifierService(){
super(TAG);
}
@Override
protected void onHandleIntent(Intent intent) {
while(true){
Calendar calendar = Calendar.getInstance();
int day = calendar.get(Calendar.DAY_OF_WEEK);
String currentDay=null;
switch(day){
case 1:
currentDay="Sunday";
Log.i("currentDay","Current day is: "+currentDay);
break;
case 2:
currentDay="Monday";
Log.i("currentDay","Current day is: "+currentDay);
break;
case 3:
currentDay="Tuesday";
Log.i("currentDay","Current day is: "+currentDay);
break;
case 4:
currentDay="Wednesday";
Log.i("currentDay","Current day is: "+currentDay);
break;
case 5:
currentDay="Thursday";
Log.i("currentDay","Current day is: "+currentDay);
break;
case 6:
currentDay="Friday";
Log.i("currentDay","Current day is: "+currentDay);
break;
case 7:
currentDay="Saturday";
Log.i("currentDay","Current day is: "+currentDay);
break;
}
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
有人能解釋一下,這裏有什麼問題嗎?
下面的答案是正確的。但是,如果您有需要定期執行的操作,則應該使用「AlarmManager」進行安排。使用無限循環是不好的做法,會導致電池耗盡。 – F43nd1r