kotlin alarmの繰り返し処理がうまく発火しない理由を取得できない。 androidstudioを利用してService-> BroadcastReceiver() に流してnotificationの発火->リピート処理を使用としているのですがうまくいきません。activityが生きてるときは、うまくいっているようなのですが、dozeに入っているときはなんか反応しないというか。doze中(androidstudioとのlinkが途切れている場合)に発火しない理由を取得する方法あったら教えてください。もちろん解決法も歓迎します。 <コード概略> 1. class AlarmService : Service() { override fun onBind(intent: Intent?): IBinder? { return null } override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { ・・・中略・・・ //明示的なBroadCast val intent = Intent( this, AlarmBroadcastReceiver::class.java ).apply { putExtra("AlarmDataArray", originalAlarmData) } val pending = PendingIntent.getBroadcast( this, originalAlarmData[1].toInt(), intent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE ) val alarmManager = getSystemService(ALARM_SERVICE) as AlarmManager alarmManager.setExactAndAllowWhileIdle( AlarmManager.RTC_WAKEUP, dateTimeMill, pending ) } 2. class AlarmBroadcastReceiver : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { ->通知&alarmを鳴らす処理 ->予定日を計算する処理 ->予定日をAlarmService に投げる
Android開発