Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在服务人员中播放声音,甚至在chrome中振动?_Android_Google Chrome_Push Notification_Service Worker - Fatal编程技术网

Android 如何在服务人员中播放声音,甚至在chrome中振动?

Android 如何在服务人员中播放声音,甚至在chrome中振动?,android,google-chrome,push-notification,service-worker,Android,Google Chrome,Push Notification,Service Worker,我正在使用服务人员。我需要它来推送通知。我想实现的是,当我收到通知时,它至少应该播放声音或振动 self.registration.showNotification(title, { body: body, icon: './assets/images/icons/icon_144x144.png', vibrate: [200, 100, 200, 100, 200, 100, 200], }); 我在收到通知后收到了这段代码 问题1:根本没有振动发生。然后我进行了一点调试

我正在使用
服务人员
。我需要它来推送通知。我想实现的是,当我收到通知时,它至少应该播放声音或振动

self.registration.showNotification(title, {
   body: body,
   icon: './assets/images/icons/icon_144x144.png',
   vibrate: [200, 100, 200, 100, 200, 100, 200],
});
我在收到通知后收到了这段代码

问题1:根本没有振动发生。然后我进行了一点调试

这个不会震动我的手机

这个确实使我的手机震动

为什么它不从第一个链接开始振动?我正在android chrome上测试这一切

问题2:在firefox上看起来很像,它确实有一个默认声音。为什么谷歌没有同样的声音?它只是安静下来。我不可能播放声音?至少我想振动它…

如图所示,
showNotification()
振动
属性从Android O开始不再受支持,无论Chrome版本如何,这可能是第一个链接不适用于您的原因

但是,您可以使用
vibrate()
方法(第二个链接就是这样做的),这在32版之后的Chrome版本上是受支持的。但是请注意,在Chrome60之后,此方法将仅在响应用户手势时起作用。(请参阅)以了解更多详细信息

在此处添加更多历史记录:

根据:

不幸的是,我们在几年前就已经开始反对Android O了——通知通道的引入意味着注意力吸引器(振动、声音等)现在是每个通道,而不是每个通知,Chrome不允许开发者配置

不幸的是,其他供应商对此不感兴趣


第一个代码段请求权限。也许他们不被允许?不幸的是,他们被允许了(您是否已解锁手机?我的手机在解锁或通知应用程序处于前台时有时不会振动。振动属性已从showNotification方法中删除,只需在调用后使用振动功能验证chrome版本。以下是支持的版本列表-感谢您的解释。但我需要d在服务人员中使用振动。似乎我不能。对此有什么建议/解决方案?不幸的是,Chrome 60之后,振动()只能用于响应用户的手势。因此,这意味着如果出现通知,我不能播放声音/振动…唯一的解决方法是,当通知到达时,我向客户端发布消息并在那里播放声音,但这意味着用户必须打开网站,对吗?请参阅此帖子:什么构成“用户手势”@Garsivirus我所做的是,当服务人员收到通知时,我会向所有客户发送一条消息,在src代码中,我会听这条消息,当收到时,我会播放一个声音。这有时不起作用,因为它首先需要用户的手势,但不知何故它很接近