我尝试创建一个应用程序,当用户插入timePicker的时间相同时,发送通知(带有自定义文本),但是通知根本没有出现。
MainActivity.kt
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val UniqueID = 47245
timePicker.setIs24HourView(true)
button1.setOnClickListener {
if((Calendar.HOUR_OF_DAY == timePicker.hour) && (Calendar.MINUTE == timePicker.minute)) {
var notification = NotificationCompat.Builder(this, "M_CH_ID")
notification.setSmallIcon(R.mipmap.ic_launcher)
notification.setTicker(editText.text)
notification.setWhen(System.currentTimeMillis())
notification.setContentTitle("Notifica")
notification.setContentText(editText.text)
var ringtone: Uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)
var intent = Intent(this, MainActivity::class.java)
var pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)
notification.setContentIntent(pendingIntent)
notification.setLights(Color.RED, 2500, 1000)
notification.setSound(ringtone)
notification.setAutoCancel(true)
var notManager: NotificationManager = getSystemService(NOTIFICATION_SERVICE) as NotificationManager
notManager.notify(UniqueID, notification.build())
}
}
}发布于 2018-01-29 18:51:01
Calendar.HOUR_OF_DAY和Calendar.MINUTE是Calendar类中与get()方法一起使用的常量值。要获得当前的时间和分钟,您可以执行以下操作:
val now = Calendar.newInstance()
val hour = now.get(Calendar.HOUR_OF_DAY)
val minute = now.get(Calendar.MINUTE)这些是您的if检查应该针对的值。
https://stackoverflow.com/questions/48507869
复制相似问题