Android: поддержание работы фоновой службы (предотвращение смерти процесса)

У меня есть служба, которая определяется как:

public class SleepAccelerometerService extends Service implements SensorEventListener

По сути, я делаю приложение, которое отслеживает активность акселерометра по разным причинам, пока пользователь спит, положив свой телефон / устройство на кровать. Это долго работающая служба, которая НЕ ДОЛЖНА быть остановлена ​​ночью. В зависимости от того, сколько фоновых приложений и периодических процессов происходит в ночное время, андроид иногда убивает мой процесс, тем самым прекращая мою службу. Пример:

10-04 03:27:41.673: INFO/ActivityManager(1269): Process com.androsz.electricsleep (pid 16223) has died.
10-04 03:27:41.681: INFO/WindowManager(1269): WIN DEATH: Window{45509f98 com.androsz.electricsleep/com.androsz.electricsleep.ui.SleepActivity paused=false}

Я не хочу заставлять пользователя использовать SleepActivity или какое-либо другое действие в моем приложении в качестве переднего плана. Я не могу периодически запускать свою службу, потому что она постоянно перехватывает onSensorChanged.

Есть какие-нибудь советы? исходный код находится здесь: http://code.google.com/p/electricsleep/

51
задан David Cheung 29 April 2016 в 23:12
поделиться