如何找出设备是否有振动器?

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

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

Vibrator类就是这样做的。 hasVibrator()方法返回一个布尔值,指示是否支持振动。

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

这可能有助于API <11:

Context.getSystemService()返回一个服务对象,如果没有服务,则返回null

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

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

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

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