у меня есть эта фоновая служба:сервис Android Фонового закрывает себя мгновенно при запуске его
public class UjsagFeedReaderService extends IntentService {
public UjsagFeedReaderService(){
super("UjsagFeedReaderService");
}
Timer timerbd = new Timer();
TimerTask taskbd = new TimerTask() {
public int a = 0;
@Override
public void run() {
a++;
Toast.makeText(getBaseContext(), "Letelt egy perc, új cikkek keresése. (debug infó)", Toast.LENGTH_LONG).show();
debug();
Log.w("logd", "megy");
}
};
@Override
protected final void onHandleIntent(Intent workIntent) {
Log.w("logd", "run");
boolean run = workIntent.getBooleanExtra("Belfold",false);
boolean Belfold = workIntent.getBooleanExtra("Belfold",false);
boolean Kulfold = workIntent.getBooleanExtra("Kulfold",false);
boolean Gazdasag = workIntent.getBooleanExtra("Gazdasag",false);
boolean TudTech = workIntent.getBooleanExtra("TudTech",false);
boolean Sport = workIntent.getBooleanExtra("Sport",false);
boolean Eletmod = workIntent.getBooleanExtra("Eletmod",false);
boolean Kultura = workIntent.getBooleanExtra("Kultura",false);
boolean Autok = workIntent.getBooleanExtra("Autok",false);
boolean Egeszseg = workIntent.getBooleanExtra("Egeszseg",false);
try {
timerbd.scheduleAtFixedRate(taskbd, 60000, 60000);
}
catch(Exception ex) {
Toast.makeText(getBaseContext(), "Hiba", Toast.LENGTH_LONG).show();
}
}
public void debug(){
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle("Teszt")
.setContentText("Szia. Ez csak egy teszt");
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(2004, mBuilder.build());
}
@Override
public void onDestroy() {
Toast.makeText(this, "Mostantól nem fognak értesítések megjelenni.", Toast.LENGTH_LONG).show();
timerbd.cancel();
}
}
Но когда я начинаю его с:
Intent in = new Intent(getBaseContext(), UjsagFeedReaderService.class);
MainActivity.this.startService(in);
мгновенно останавливается, запускает метод «OnDestroy»
В диспетчере задач/приложений я не вижу процесса, поэтому он остановлен. Этот процесс используется для планирования уведомлений. Я знаю, что он останавливается после выполнения, но есть таймер.
Таймер не запускается.
'IntentService' останавливается после завершения 'onHandleIntent()'. Возможно, вам нужна регулярная «Служба». –
Но как-то таймер не запускается –
Вы запланировали 60-секундную задержку. «IntentService» будет долго мертв и уничтожен к тому времени. –