結論から言うと、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