Kotlin AlarmManager和BroadcastReceiver无法正常工作
我试图用AlarmManager设置闹钟,但我的BroadcastReceiver从来没有被调用。 这是我的片段。
val receiver = object : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { //Never gets hit } } context.registerReceiver(receiver, IntentFilter(LOCAL_NOTIFICATION)) val intent = Intent() intent.action = LOCAL_NOTIFICATION val alarmManager = context.getSystemService(ALARM_SERVICE) as? AlarmManager val pendingIntent = PendingIntent.getService(context, 1, intent, PendingIntent.FLAG_UPDATE_CURRENT) val calendar = Calendar.getInstance() calendar.add(Calendar.SECOND, 10) alarmManager?.set(AlarmManager.RTC_WAKEUP, calendar.timeInMillis, pendingIntent)
我试过在AndroidManifest.xml中注册一个广播接收器,但似乎没有任何工作。
我只注意到我在PendingIntent
上调用getService()
而不是getBroadcast()
改变之后,它完美的工作!