只要应用程序在前台,我就想在云数据库中侦听一个事件,无论用户处于哪种活动,都显示抬头通知。
我的方法是订阅MainActivity的onCreate
中可观察的事件,并在那里创建通知。问题在于,仅当用户位于MainActivity时才显示抬头通知。如果他们在其他地方,只会发出声音,不会抬头。我认为这是因为我在this
中将上下文指定为NotificationCompat.Builder
。如何解决这个问题?
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
...
viewModel.newAlarmSignal.subscribe {
if (it) {
val mBuilder = NotificationCompat.Builder(this, "MyChannel")
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle("You received a new alarm")
.setContentText("Click to view")
.setDefaults(Notification.DEFAULT_ALL)
.setPriority(NotificationCompat.PRIORITY_MAX)
NotificationManagerCompat.from(this).notify(1, mBuilder.build())
}
}
}