gpt4 book ai didi

android - Kotlin Android - 通知不显示为抬头

转载 作者:行者123 更新时间:2023-12-04 03:35:17 27 4
gpt4 key购买 nike

(我的设备运行的是 Android 5.1。)

你好,

对于我制作的应用程序,我创建了一种通知类,带有方法等,可以轻松创建通知。

我已尝试将其配置为使用“提醒”通知,但它对我不起作用。它只是作为常规通知出现:也许我弄错了什么?

通知助手类和接口(interface):

interface NotificationHelper {
fun startNotification(title: String, text: String, priority: Int, smallIcon: Int)
}

class DefaultNotificationHelper(private val context: Context) : NotificationHelper {
private val channelID = "channel_01"

private fun registerNotificationManagerWithSystem(channel: NotificationChannel) {
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.O) {
(context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager).createNotificationChannel(channel)
}
}

private fun createNotificationChannel() {
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.O) {
val notificationChannelInstance = NotificationChannel(channelID, "Channel 1", NotificationManager.IMPORTANCE_HIGH).let {
it.lockscreenVisibility = Notification.VISIBILITY_PUBLIC
it.setShowBadge(true)

registerNotificationManagerWithSystem(it)
}
}
}

private fun createNotificationInstance(title: String, text: String, priority: Int, smallIcon: Int): NotificationCompat.Builder {
return NotificationCompat.Builder(context, channelID)
.setContentTitle(title)
.setContentText(text)
.setPriority(priority)
.setDefaults(DEFAULT_VIBRATE)
.setDefaults(DEFAULT_SOUND)
.setSmallIcon(smallIcon)
}

private fun notify(notificationCompat: NotificationCompat.Builder) {
(context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager).notify(1, notificationCompat.build())
}

override fun startNotification(title: String, text: String, priority: Int, smallIcon: Int) {
createNotificationChannel()
notify(createNotificationInstance(title, text, priority, smallIcon))
}
}

实现:

val notificationHelper = DefaultNotificationHelper(this)
notificationHelper.startNotification("Hello", "Hello", NotificationCompat.PRIORITY_HIGH, R.drawable.fire_gradient)

感谢您的帮助 - 不过这可能与我的手机有关。

干杯,

汤姆乔尼

编辑:我已经确定这只是我手机的问题,无论我多么努力都无济于事 - 它永远无法正常工作。如果您想测试抬头通知,请不要购买华为 Y6 Elite,无论您如何努力,它都不会起作用。

最佳答案

这是 Github 项目链接,它有一个自定义提示通知代码。 https://github.com/kavitamp/CustomHeadsUpNotification

我已经在 Android 10 上对其进行了测试并且运行良好。这是屏幕截图。 enter image description here

关于android - Kotlin Android - 通知不显示为抬头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67030970/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com