У меня есть служба, которая определяется как:
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/