如何在Ionic 2 app中关闭振动

时间:2017-12-20 19:16:40

标签: angular typescript ionic2 cordova-plugins android-vibration

我尝试过使用插件@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或关闭振动。

1 个答案:

答案 0 :(得分:2)

据我所知,目前无法完全关闭由您的应用程序以外的其他组件发送的振动。

但是,在某些情况下,使用vibrate(0)可能会有一些技巧可以禁用某些振动。 The documentation on vibrate读取

  

[...]通过0立即停止任何振动。

因此,您无法完全关闭传入的振动,但您可以取消任何当前的振动。因此,如果您要取消发送通知的振动,可以在它到达时拨打vibrate(0)

是一个糟糕的解决方法,因为您可能需要多次调用它来取消振动(确保在振动开始后调用此),但我认为这是唯一的解决方案,接近你只想使用Ionic实现的目标。

或者您也可以定期并经常拨打vibrate(0)来取消任何传入的振动,但是不推荐这是因为要有效,延迟必须超短,这是出于性能原因可能是一个坏主意。我只是说这是一个紧急解决方案。