如何使用PWA应用程序的javascript检测设备级别通知的开启或关闭?


12

我的要求是如何使用javascript(在不使用任何插件的情况下,如果此插件支持PWA应用程序,则不能使用任何插件)在Android设备中检测设备级别通知的开启/关闭。

根据通知是否关闭,我需要向用户显示弹出窗口,请启用通知功能,您将收到通知。

以下答案仅用于侦探性浏览器级别的通知。如果有人知道,请给我确切的答案。因为,我停在那里。

如果用户禁用,请检查此处用户启用的图片,如果用户禁用,那么我将无法发送通知。

在此处输入图片说明


1
浏览器将返回该值,我认为这不是必需的。浏览器只能询问是否允许整体通知。如果需要,我们可以连接。
anshulix

1
@anshulix你的权利。我已经处理了浏览器级别。但是,如果用户不在设备级别,则无法推送该通知。因此,无法在用户设备中直接启用,这就是为什么我要显示至少弹出窗口的原因。
Prabhat

1
浏览器只提供浏览器级别的通知状态。.我想你的意思是说(Notification.permission)。
Prabhat

任何人都可以给答案..请。!!
Prabhat

如果您已通过webapp启用了android界面,则可以创建一个可以为您处理的钩子。或者,您可以尝试Notification.requestPermission。不太确定它在自定义移动网络应用程序上的运行情况如何。
varun agarwal19年

Answers:


4

您是否尝试过该功能的详细文档

function notifyMe() {
  // Let's check if the browser supports notifications
  if (!("Notification" in window)) {
    console.log("This browser does not support desktop notification");
  }

  // Let's check whether notification permissions have alredy been granted
  else if (Notification.permission === "granted") {
    // If it's okay let's create a notification
    var notification = new Notification("Hi there!");
  }

  // Otherwise, we need to ask the user for permission
  else if (Notification.permission !== 'denied' || Notification.permission === "default") {
    Notification.requestPermission(function (permission) {
      // If the user accepts, let's create a notification
      if (permission === "granted") {
        var notification = new Notification("Hi there!");
      }
    });
  }

  // At last, if the user has denied notifications, and you 
  // want to be respectful there is no need to bother them any more.
}

嘿..Mose ..您的答案是关于浏览器级别的通知。.我正在询问设备级别..如何检测?
Prabhat

是的,我尝试并实现了浏览器级别的功能。但是我在设备级别上存货..通知检测。
Prabhat

根据MDN的@Prabhat:“ Notifications API使网页或应用程序发送在系统级别在页面外部显示的通知即使应用程序处于空闲状态或在后台这也使Web应用程序可以向用户发送信息。”
Mosè地区Raguzzini

是的,但是如果用户关闭了设备级别的通知,则无法推送通知..请检查我的屏幕截图。
Prabhat

1
@这是浏览器的安全性,要访问更高级别的信息,您应该将Web应用程序包装在应用程序中并直接向操作系统询问,然后将信息传播到Web视图。
Mosè地区Raguzzini
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.