如何判断设备是否有振动器?

时间:2011-07-23 15:57:52

标签: android hardware

我有一台设备,我不知道它是否有振动器。

有没有办法查询振动器的可用性?

4 个答案:

答案 0 :(得分:31)

Vibrator课就是这么做的。它的hasVibrator()方法返回一个布尔值,表示是否支持振动。

  1. 获取作为系统服务的Vibrator类的实例。
  2. 使用hasVibrator()方法查询Vibrator类。
  3. String vs = Context.VIBRATOR_SERVICE;
    Vibrator mVibrator = (Vibrator)getSystemService(vs);
    
    boolean isVibrator = mVibrator.hasVibrator();
    

答案 1 :(得分:7)

这可能有助于API< 11:

如果没有服务,

Context.getSystemService()会返回服务对象或null

if ( getSystemService(VIBRATOR_SERVICE) != null ) {
    //Vibrator exists
}

答案 2 :(得分:0)

在使用hasVibrator()之前,您需要支持(至少)Android 3.0(11 HoneyComb)。

奇怪的是,你可以在任何/所有版本上使用vibrate()本身。

所以真正的问题是:v1-v10如何检测设备是否有振动器? (如果你试图在没有振动器的情况下振动设备,会不会发生什么不好的事情?)

答案 3 :(得分:0)

也许它会帮助某人。 由于我正在构建 PWA,因此我最终检查了屏幕尺寸:

  if (window.innerWidth < 600) {
    window.navigator.vibrate(300);
  }
相关问题