防止用户关闭通知

Posted

技术标签:

【中文标题】防止用户关闭通知【英文标题】:Prevent user from dismissing notification 【发布时间】:2013-08-30 03:55:39 【问题描述】:

有些应用的通知无法通过滑动来关闭。

我该如何管理这种行为?

【问题讨论】:

【参考方案1】:

除了 Andro Selvas 回答:

如果您使用的是NotificationCompat.Builder,just use

builder.setOngoing(true);

【讨论】:

我更喜欢这个答案,只是因为我使用的是Builder。 这对我不起作用。看起来它使通知没有“x”关闭按钮,但仍然可以完成滑动手势。 使用 NotificationCompat 构建器为我工作。 这不适用于华为手机,但适用于三星【参考方案2】:

使用标志FLAG_ONGOING_EVENT 使其持久化。

Notification notification = new Notification(icon, tickerText, when);
    notification.flags = Notification.FLAG_ONGOING_EVENT;

您也可以查看FLAG_NO_CLEAR

【讨论】:

谢谢,你拯救了我的一天。 我尝试使用“setOngoing(true)”,但它对我不起作用。 “FLAG_ONGOING_EVENT”对我有用。【参考方案3】:

我使用以下代码使我的通知持久化:

startForeground(yourNotificationId,notificationObject);

要让它消失,只需执行以下操作:

stopForeground(true);

【讨论】:

以上是关于防止用户关闭通知的主要内容,如果未能解决你的问题,请参考以下文章

防止从通知点击创建新活动

限制发送推送通知(防止垃圾邮件) - GCM

VBA 防止用户输入表单中出现空字段

打开另一个通知时,如何防止通知从通知中心消失? iOS

收到推送通知且应用程序在前台时如何防止弹出警报

如何防止用户关闭 GPS、Wifi 和蓝牙?