【发布时间】:2023-02-05 20:52:27
【问题描述】:
我的应用程序使用接收器在一定时间后向用户发送通知。接收器运行良好,因为它运行一些功能,但通知工作并不顺利。
在模拟器(API29 和 Android 10)上,它可以正确发送它们,但是当我在真实设备上安装它时,它要么根本不工作,要么工作得很好。
直到我将手机更新到 android 12 之前,我的手机都收到了完美的通知,从那时起就没有任何通知被触发。我还在旧设备 (Android 7) 上测试了它,但它再次不起作用。
我读了它,但并不真正理解这些通道是如何工作的,所以我认为问题可能存在,但我发现它在某些设备/模拟器上仍然可以工作的方式很奇怪。
这是我的代码:
class MyReceiver: BroadcastReceiver() {
@RequiresApi(Build.VERSION_CODES.O)
override fun onReceive(context: Context, intent: Intent) {
val notificationChannel =
NotificationChannel("My Channel", "New Quote",
NotificationManager.IMPORTANCE_DEFAULT).apply {
description = "Alerts when A new daily quote is set!"
}
val titles = arrayOf(
"Become inspired!",
"Check out this quote!",
"A new quote appeared!",
"Daily quote available!"
)
val title = titles.random()
val i = Intent(context, Qinperation::class.java)
val builder = NotificationCompat.Builder(context, "My Channel")
.setSmallIcon(R.drawable.ic_stat_name)
.setContentTitle(title)
.setContentText("A new daily quote is available for viewing")
.setContentIntent(
PendingIntent.getActivity(
context,
0,
i,
PendingIntent.FLAG_UPDATE_CURRENT
)
);
with(NotificationManagerCompat.from(context)) {
createNotificationChannel(notificationChannel)
notify(1, builder.build())
}
}
}
感谢所有帮助:)
【问题讨论】:
标签: android kotlin push-notification notification-channel