我尝试过使用插件@ionic-native/vibration
并尝试了三种方法
navigator.vibrate(0);
(<any>window).vibration.vibrate(0);
并且
import { Vibration } from '@ionic-native/vibration';
constructor(private vibration: Vibration){
this.vibration.vibrate(0);
}
也添加到app模块
但它无法正常工作,还有其他方法可以将振动设置为0或关闭振动。
答案 0 :(得分:2)
据我所知,目前无法完全关闭由您的应用程序以外的其他组件发送的振动。
但是,在某些情况下,使用vibrate(0)
可能会有一些技巧可以禁用某些振动。 The documentation on vibrate
读取
[...]通过0立即停止任何振动。
因此,您无法完全关闭传入的振动,但您可以取消任何当前的振动。因此,如果您要取消发送通知的振动,可以在它到达时拨打vibrate(0)
。
是一个糟糕的解决方法,因为您可能需要多次调用它来取消振动(确保在振动开始后调用此),但我认为这是唯一的解决方案,接近你只想使用Ionic实现的目标。
或者您也可以定期并经常拨打vibrate(0)
来取消任何传入的振动,但是不推荐这是因为要有效,延迟必须超短,这是出于性能原因可能是一个坏主意。我只是说这是一个紧急解决方案。