显示有关当前活动的平视通知

时间:2018-08-27 14:57:49

标签: android kotlin android-notifications

只要应用程序在前台,我就想在云数据库中侦听一个事件,无论用户处于哪种活动,都显示抬头通知。

我的方法是订阅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())
        }
    }
}

0 个答案:

没有答案