Was*_*eem 2 android push-notification android-8.0-oreo
我确实使用Android OREO+中的Notification.Builder在android中实现了通知功能。如果用户没有单击通知,我需要在一定时间范围后取消通知。我使用 setTimeOutAfter 方法完成了该操作。
https://developer.android.com/reference/android/app/Notification.Builder.html#setTimeoutAfter(long)。
现在,我需要向服务器发送一条消息,告知未单击通知/发生超时。我怎样才能实现这个?有没有notificationTimeout监听器?
没有什么比超时侦听器更好的了,但是您可以使用删除意图来达到您的目的。Broadcast Receiver
当通知被取消时,您需要一个来执行某些操作(例如调用您的服务器)。
在代码中:
class NotificationDismissedReceiver : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
// call your server here
}
}
private fun getNotificationWithDeleteIntent() : Notification{
val deleteIntent = Intent(context, NotificationDismissedReceiver::class.java)
deleteIntent.action = "notification_cancelled"
val onDismissPendingIntent = PendingIntent.getBroadcast(context, 0, deleteIntent, PendingIntent.FLAG_CANCEL_CURRENT)
val builder = NotificationCompat.Builder(context, CHANNEL_ID)
.setSmallIcon(R.drawable.notification_icon)
.setContentTitle(textTitle)
.setContentText(textContent)
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
.setTimeoutAfter(TIMEOUT)
.setDeleteIntent(onDismissPendingIntent)
return builder.build()
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1448 次 |
最近记录: |