Я хочу начать действие с метода onReceive()
BroadcastReceiver. Это код, который я использую:
class TimeReminderReceiver : BroadcastReceiver() {
override fun onReceive(p0: Context?, p1: Intent?) {
println("RECEIVED")
val i = Intent(p0!!, TimeReminderActivity::class.java)
i.flags = Intent.FLAG_ACTIVITY_NEW_TASK
p0.startActivity(i)
}
}
В стеке потока есть много ответов на этот вопрос, я пробовал все это, и ни один из них не работает для меня. Приложение просто печатает RECEIVED
и остается там. Ничто не показывает в logcat, без исключения, ничего. Я также добавил получателя в основной файл.
<receiver
android:name=".receivers_and_activities.TimeReminderReceiver" />
В чем проблема с этим кодом?
РЕДАКТИРОВАТЬ:
Код, который вызывает трансляция:
val intent = Intent(this@MainActivity, TimeReminderReceiver::class.java)
val pendingIntent = PendingIntent.getBroadcast(this@MainActivity, 0, intent,
PendingIntent.FLAG_UPDATE_CURRENT)
val am = this@MainActivity.getSystemService(Context.ALARM_SERVICE) as AlarmManager
am.set(AlarmManager.RTC_WAKEUP, calendar.timeInMillis, pendingIntent)