我有一台设备,我不知道它是否有振动器。
有没有办法查询振动器的可用性?
答案 0 :(得分:31)
Vibrator
课就是这么做的。它的hasVibrator()
方法返回一个布尔值,表示是否支持振动。
hasVibrator()
方法查询Vibrator类。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);
}