私は次のように定義されているサービスを持っています:
public class SleepAccelerometerService extends Service implements SensorEventListener
基本的に、私はユーザーが自分の携帯電話/デバイスをベッドに置いて寝ている間、さまざまな理由で加速度計のアクティビティを監視するアプリを作成しています。これは長期にわたるサービスであり、夜間に殺してはなりません。夜間に発生するバックグラウンドアプリと定期的なプロセスの数によっては、Androidがプロセスを強制終了し、サービスを終了することがあります。例:
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/