无法在kotlin按日期推送通知

时间:2018-03-18 14:30:34

标签: android push-notification kotlin alarmmanager android-broadcastreceiver

我尝试按日期将通知推送到我的应用。我已经建立了广播接收器,由于某种原因,它没有推动通知。

这是我的代码:

saveTime?.setOnClickListener()  //save time notification
    {
        val hour: Int = tp!!.hour
        val min: Int = tp!!.minute
        var text = "" + hour + ":" + min
        var calendar: Calendar = Calendar.getInstance()

        calendar.set(Calendar.DAY_OF_WEEK,1)
        calendar.set(Calendar.DAY_OF_WEEK,Calendar.FRIDAY)
        calendar.set(Calendar.HOUR_OF_DAY,hour)
        calendar.set(Calendar.MINUTE,min)
        calendar.set(Calendar.SECOND, 0);

        val intent = Intent()
        val pendingIntent = PendingIntent.getActivity(this.activity,0,intent,PendingIntent.FLAG_UPDATE_CURRENT)
        var alarmManager = this.activity.getSystemService(ALARM_SERVICE) as AlarmManager
        alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,calendar.timeInMillis, AlarmManager.INTERVAL_DAY,pendingIntent)
    }

在这里你会看到我的广播接收班:

class MyReciver : BroadcastReceiver() {
    override fun onReceive(context: Context, intent: Intent) {
        val timeAlert = System.currentTimeMillis()
        val notificationManager = context
                .getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager

        val notificationIntent = Intent(context, MainActivity::class.java)
        notificationIntent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP

        val pendingIntent = PendingIntent.getActivity(context, 0,
                notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT)

        //val alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)

        val notification = Notification.Builder(context)
                .setContentTitle("some title:")
                .setContentText("some text")
                .setSmallIcon(R.drawable.notification_icon_background)
                .setAutoCancel(true).setWhen(timeAlert)
                .setContentIntent(pendingIntent)
        notificationManager.notify(0, notification.build())
    }
}

0 个答案:

没有答案