省電力モードがオンになっている一部のデバイスでは、ブロードキャスト レシーバーが起動されないようです。ブロードキャストレシーバーに次のコードがあります
Vibrator v = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
long[] pattern = { 0, 700, 400, 1000 };
v.vibrate(pattern, -1);
これは実行されないため、ブロードキャストレシーバーはまったく呼び出されていないと結論付けます。
放送受信機は次のように構成されています。
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, MyReceiver.class);
PendingIntent pending = PendingIntent.getBroadcast(context, 0,
intent, PendingIntent.FLAG_CANCEL_CURRENT);
am.set(AlarmManager.RTC_WAKEUP, futureTimeMillis, pending);
省電力モードであっても、すべてのケースで保留中のインテントが呼び出されるように構成するにはどうすればよいですか?