AlarmManager
たとえば、電話がロックされているときにブロードキャストレシーバーが起動しません。私は多くの解決策を探して試しましたが、どれもうまくいきません:
AlarmManager mgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, OnAlarmReceiver.class);
PendingIntent pi=PendingIntent.getBroadcast(context, 0, i, 0);
mgr.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime()+60000,
PERIOD,
pi);
しかし、OnAlarmReceiver
解雇されることはありません!
私も試してみWakeLock
ます:
@Override
public void onReceive(Context context, Intent intent) {
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "");
wl.acquire();
// code
wl.release();
}
しかし、動作していません。なぜ?