タグ

programmingとAlarmManagerに関するastk_fのブックマーク (3)

  • Androidで端末がスリープ中でも定期的にバックグラウンド処理を実行する

    結論から言うと、AlarmManagerとPowerManager.WakeLockを組み合わせて使えばよい。 具体的には、まず、AlarmManagerを使用して、定期的にBroadcastのIntentを投げる。AlarmManager.RTC_WAKEUPを指定して、端末がスリープ中でもBroadcastが行われるようにしておく。 public class Foo { private static final long INTERVAL = AlarmManager.INTERVAL_FIFTEEN_MINUTES; public void setBroadcast() { Intent intent = new Intent(this, BarReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadc

  • AlarmManager

    AlarmManager ・システムの AlarmService を使うためのクラス ・アプリケーションを将来のあるポイントで起動するようスケジュールできる ・Alarm が開始すると、システムによって Intent が broadcast される ・この Intent に起動したいアプリケーションを登録しておく ・これにより、現状で起動していないアプリケーションが自動で起動する ・登録された Alarm はデバイスがスリープ状態の間保持される(オプションでデバイスがオフの場合に wake up させることができる)が、再起動したり電源を切ると登録はクリアされる ・Alarm Manager は alarm receiver の onReceive() メソッドが実行されているのと同じだけ CPU を hold する ・これはブロードキャストの処理が終了するまで電話がスリープ状態にならない

  • Android: AlarmManagerのPendingIntentでハマった | 自転車で通勤しましょ♪ブログ

    先週からずっとBatteryCrystalのバグ修正と戦っているのですが、 未だに収束していません!(>_<) バッテリー状態を見張るBroadcastReceiverを登録しているServiceがシステムに勝手に落とされるのがバグの原因と思っているのでそれをなんとかしようと色々と修正し、twitterでアプリの検証をしてくださる方を募ってテストしていただいているのですが、まだ直らず。今さっき出来たバージョンでたぶんいけると思うのですが、深夜なので、メールは朝させてもらおうと思ってます。 とりあえず、今までやったことを一覧にしておきます。 AlarmManagerを使って制御。 ただ、AlarmManager.setしたイベントがウィジェットを削除してもServiceを起動させてしまったため、断念(私のミス) ServiceのonDestroyのタイミングで、独自のBroadcastを投げ

  • 1