Android手机震动主要用到的类是Vibrator类。该类作为一个系统级的服务类,可以通过
Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
来获得实例。
该类主要包含的方法如下:
public boolean hasVibrator(); 判断是否在震动;
public void vibrate(long milliseconds); 开启震动,参数为震动时间,单位为毫秒;
public void vibrate(long[] pattern, int repeat); 开启震动,参数pattern为一个long数组;比如:
vibrator.vibrate(new long[]{1000, 3000, 5000, 8000}, 1);
1000表示系统在1秒钟之后开始震动,3000表示系统震动3秒钟,5000表示系统在5秒钟之后开始震动,8000表示系统震动8秒钟。也是就说,如果不重复,整个震动完成的时间为1+3+5+8=17秒钟。参数repeat为震动是否重复。-1表示不重复。repeat的取值范围为0到pattern的长度-1,上面的repeat的取值范围为0~3。当repeat参数大于取值范围时,会抛出数组下标越界异常。当参数为0时,代表从pattern数组索引为0时开始重复震动。
public void cancel(); 取消震动.
开启震动功能需要获取震动权限
<uses-permission android:name="android.permission.VIBRATE"/>