问题描述
在我的应用程序中,我使用了一个时间选择器,用户可以在其中选择他想要的时间,然后当时间到来时应用程序应该向用户发送通知。我做了一切,但应用程序不会向用户发送通知。请帮忙
个人电脑我在清单上添加了接收器
用java或者kotlin都可以..
报警接收器
true
设置活动 fajrSalah id 是一个开关按钮
class AlarmReceiver : broadcastReceiver() {
override fun onReceive(context: Context?,intent: Intent?) {
val i = Intent(context,MainActivity::class.java)
intent!!.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
val pendingActivity = PendingIntent.getActivity(context,i,0)
val builder = NotificationCompat.Builder(context!!," AdhanNotifacations")
.setSmallIcon(R.drawable.ic_fajr_icon)
.setContentTitle("موعد الصلاة حل")
.setContentText("ان الصلاة كانت على المؤمنين كتابا موقوتا")
.setAutoCancel(true)
.setDefaults(NotificationCompat.DEFAULT_ALL)
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setContentIntent(pendingActivity)
val noifacationManagar = notificationmanagerCompat.from(context)
noifacationManagar.notify(123,builder.build())
}
}
解决方法
我发现我在接收器上的频道 ID 上留了一个空格,这导致接收器不向用户发送通知。
现在这是我问题的解决方案
class AlarmReceiver : BroadcastReceiver() {
override fun onReceive(context: Context?,intent: Intent?) {
val i = Intent(context,MainActivity::class.java)
intent!!.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
val pendingActivity = PendingIntent.getActivity(context,i,0)
val builder = NotificationCompat.Builder(context!!,"AdhanNotifacations")
.setSmallIcon(R.drawable.ic_fajr_icon)
.setContentTitle("موعد الصلاة حل")
.setContentText("ان الصلاة كانت على المؤمنين كتابا موقوتا")
.setAutoCancel(true)
.setDefaults(NotificationCompat.DEFAULT_ALL)
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setContentIntent(pendingActivity)
val noifacationManagar = NotificationManagerCompat.from(context)
noifacationManagar.notify(123,builder.build())
}
}