(我的设备运行的是 Android 5.1。)
你好
对于我制作的应用程序,我创建了一种通知类,包含方法等,可以轻松创建通知。
我尝试将其配置为使用“提醒”通知,尽管它对我不起作用。它只是显示为常规通知:也许我做错了什么?
通知助手类和接口:
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,无论您多么努力,它都不会奏效。
答案 0 :(得分:1)
这是 Github 项目链接,它有一个自定义的抬头通知代码。 https://github.com/kavitamp/CustomHeadsUpNotification