如何确定设备是否有振动器?

发布于 2024-11-26 01:25:35 字数 50 浏览 1 评论 0原文

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

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

I have a device of which I don't know if it has a vibrator.

Is there a way to query for the availability of the vibrator?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

一页 2024-12-03 01:25:35

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

  1. 获取 Vibrator 类的一个实例,它是一个系统服务。
  2. 使用 hasVibrator() 方法查询 Vibrator 类。
String vs = Context.VIBRATOR_SERVICE;
Vibrator mVibrator = (Vibrator)getSystemService(vs);

boolean isVibrator = mVibrator.hasVibrator();

The Vibrator class does just that. It's hasVibrator() method returns a boolean indicating if vibrating is supported.

  1. Get an instance of the Vibrator class which is a system service.
  2. Query the Vibrator class using the hasVibrator() method.
String vs = Context.VIBRATOR_SERVICE;
Vibrator mVibrator = (Vibrator)getSystemService(vs);

boolean isVibrator = mVibrator.hasVibrator();
感性不性感 2024-12-03 01:25:35

这可能对 API<11 有帮助:

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

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

This may help for API<11:

Context.getSystemService() returns a service object or null if no service.

if ( getSystemService(VIBRATOR_SERVICE) != null ) {
    //Vibrator exists
}
养猫人 2024-12-03 01:25:35

您需要(至少)支持 Android 3.0 (11 HoneyComb),然后才能使用 hasVibrator()。

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

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

You need to support (at least) Android 3.0 (11 HoneyComb) before you can use hasVibrator().

Oddly, you can use vibrate() itself on any/all versions.

So the REAL question is: How do v1 - v10 detect if the device has vibrator?
(Or will nothing bad happen if you try to vibrate a device without a vibrator?)

天煞孤星 2024-12-03 01:25:35

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

  if (window.innerWidth < 600) {
    window.navigator.vibrate(300);
  }

Maybe it'll help someone.
Since I'm building a PWA, I ended up checking the screen size:

  if (window.innerWidth < 600) {
    window.navigator.vibrate(300);
  }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文