chromeapp清除所有通知

qnakjoqk  于 2023-04-27  发布在  Go
关注(0)|答案(3)|浏览(128)

我正在尝试创建一个chromeapp,当按下热键时,会清除所有通知。我已经设置了热键并正在工作,但似乎无法让chrome.notifications.clear API工作,我想这是因为我无法/不知道如何获取所有通知ID。有没有办法在不知道其ID的情况下清除通知,或者只是清除所有通知?谢谢!

gjmwrych

gjmwrych1#

根据文档,您需要获取notificationId以删除通知。
chrome.notifications.clear(string notificationId, function callback)只清除指定的通知。
notification.create方法返回要清除的通知的id。
所以如果你不知道系统中的notificationId,你可以通过调用chrome.notifications.getAll(function callback)来获取它。它会检索系统中的所有通知和notificationId。

des4xlb0

des4xlb02#

如果有人仍然需要代码示例:

chrome.notifications.getAll((items) => {
  if ( items ) {
      for (let key in items) {
          chrome.notifications.clear(key);
      }
  }
});
8e2ybdfx

8e2ybdfx3#

如果你说的“所有通知”是指在你的Chrome扩展之外创建的通知,比如来自不同网站的通知,那么Chrome API只会给予你访问你的扩展内创建的通知,因此chrome.notifications.getAll不会真正让你获得所有通知,除了你创建的通知。

相关问题