В майском приложении мне нужна служба, чтобы постоянно работать в фоновом режиме.Я пытался справиться с этим с помощью Heartbeat с Alarmmanager.Каждые 15 минут он вызывает класс AlarmReceive, который останавливается, а затем снова запускает мой Backround Service.Но система выключает все, когда устройство не используется дольше (в основном за ночь), вот мой код (MainActivity):
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.e("Alarmmanager", "Starting Alarmmanager");
if (alarmManager == null && !isMyServiceRunning(BackroundService.class)) {
alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, AlarmReceive.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 900000, pendingIntent);
}
}
И AlarmReceive:
public class AlarmReceive extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent background = new Intent(context, BackroundService.class);
context.stopService(background);
context.startService(background);
}
}
Не могли бы вы помочь мне решить эту проблему?Мне нужен этот сервис, чтобы ром все время.Спасибо, Сларти.