В моем приложении для Android у меня есть одна служба, которая вызывает некоторые веб-службы после интервала исправления. Приложение отлично работает на переднем плане и обновляет данные, но когда пользователь выходит из приложения и использует другое приложение, мое приложение принудительно закрывается после много раз. Почему это приложение принудительно закрывается во время работы в фоновом режиме.
Код, который я использовал для запуска службы -
msgIntent = new Intent(mContext, MyBackgroundService.class);
startService(msgIntent);
и внутри onDestroy() моей основной деятельности у меня есть следующий код для остановки службы:
if(msgIntent!=null){
stopService(msgIntent);
}
фоновая служба вызывает некоторую асинхронную задачу, и каждая задача aync onPostExecute() выполняет некоторый оператор вставки в базу данных.
я не понимаю, почему эта сила закрывается.
Пожалуйста, дайте свои комментарии.
Заранее спасибо.
Мой сервисный код
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
callAsynchronousTask();
return Service.START_NOT_STICKY;
}
@Override
public void onCreate() {
mContext = this;
super.onCreate();
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
public void callAsynchronousTask() {
final Handler handler = new Handler();
Timer timer = new Timer();
TimerTask doAsynchronousTask = new TimerTask() {
@Override
public void run() {
handler.post(new Runnable() {
public void run() {
try {
callWebservice();
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
};
timer.schedule(doAsynchronousTask, START_DELAY, DELAY);
}