网络推送通知的权限更改是不是有任何回调?

Posted

技术标签:

【中文标题】网络推送通知的权限更改是不是有任何回调?【英文标题】:Is there any callback on permission change for web push notification?网络推送通知的权限更改是否有任何回调? 【发布时间】:2016-08-30 09:17:18 【问题描述】:

假设用户将权限设置为 allow 以接收推送通知,但后来将这些权限更改为 denieddefault

Serviceworker 中是否有针对此公开的回调。

【问题讨论】:

【参考方案1】:

没有任何事件暴露给 Service Worker。

您可以通过Permissions API 从页面上下文中侦听一个事件:

navigator.permissions.query(name: 'notifications').then(function(permission)   
  // Initial status is available at permission.state

  permission.onchange = function()   
    // Whenever there's a change, updated status is available at this.state
  ;
);

【讨论】:

我相信这是正确的答案,但根据 MDN,它是实验性技术,Safari 尚不支持:TypeError: undefined is not an object (evaluating 'navigator.permissions.query') 我应该在 SW 上的 self.addEventListener('activate',() => ) 上写这个吗?

以上是关于网络推送通知的权限更改是不是有任何回调?的主要内容,如果未能解决你的问题,请参考以下文章

推送通知传递和关闭回调

Android:点击推送通知不打开应用程序

修改推送通知的权限请求对话框

Android推送通知权限判断及跳转到权限设置界面(完善兼容8.0)

在推送服务中推送尖锐不发送通知和无回调

注册推送通知没有得到任何响应[重复]