7.3.1 类Vibrator的基础

更新于 2026年10月10日 版权声明
7.3.1 类Vibrator的基础

在Android系统中,振动功能是通过类Vibrator实现的,读者可以在SDK中的android.os.Vibrator包中找到相关的描述。从1.0版本开始便改进了一些声明方式,在实例化的同时去除了new Vibrator()这个构造方法,在调用时必须获取振动服务的实例句柄。假如定义了一个Vibrator对象变量mVibrator,则获取方法十分简单,代码如下。

图示

然后直接调用下面的方法

图示

■ 第一个参数long[]pattern:是一个节奏数组,比如{1,200}

■ 第二个参数repeat:表示重复次数,-1表示不重复。

在使用振动功能之前,需要先在manifest中加入下面的权限。

图示

在设置振动(Vibration)事件时,必须知道其振动的时间长短、振动事件的周期等命令。因为在Android里设置的数值都是以毫秒(1000毫秒=1秒)来计算,所以在做设置时,必须注意设置时间的长短,如果设置的时间值太小的话会感觉不出来。

要想让手机振动,需创建Vibrator对象,通过调用vibrate方法来达到振动的目的。在Vibrator的构造器中有4个参数,其中前3个的值用于设置振动的大小,在此可以把数值改成大小不等这样就可以明显感觉出振动的差异,而最后一个参数值是用于设置振动的时间。

编者根据个人开发经验,总结出如下在Android系统上开发振动应用的基本流程

1)在manifest文件中声明振动权限。

2)通过系统服务获得手机振动服务,例如下面的代码。(https://www.daowen.com)

图示

3)在得到振动服务后,检测是否存在vibrator,例如下面的代码

图示

通过上述代码可以检测当前硬件是否有vibrator,如果有则返回true,如果没有则返回false。

(4)根据实际需要进行适当的调用,例如下面的代码。

图示

通过上述代码开始启动vibrator,并设置持续milliseconds毫秒

5)编写下面的代码:

图示

这样以pattern方式重复repeat次启动vibrator。pattern的形式如下

图示

在上述格式中,以两个参数为一组,例如arg1和arg2一组、arg3和arg4一组,每一组的前一个数代表等待多少毫秒启动vibrator,后一个数代表vibrator持续多少毫秒停止,之后重复即可。Repeat表示重复次数,当为-1时,表示不重复且只以pattern的方式运行一次。

(6)停止振动,代码如下。

图示

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)