private Vibrator vibrator;
取得震动服务的句柄
vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
或者 vibrator = (Vibrator)getApplication().getSystemService(Service.VIBRATOR_SERVICE);
开始震动有两个接口
1 . vibrator.vibrate(2000);//震动指定时间 ,数据类型long,单位为毫秒,一毫秒为1/1000秒
2. vibrator.vibrate(new long[]{100,10,100,1000}, -1);//按照指定的模式去震动。
取消震动
vibrator.cancel();//取消震动,立即停止震动
震动为一直震动的话,如果不取消震动,就算退出,也会一直震动
最重要的,增加权限,否则运行时出错
<uses-permission android:name="android.permission.VIBRATE"/>
void vibrate(long[] pattern, int repeat)
vibrator.vibrate(new long[]{100,10,100,1000}, -1);其中以两个一组的如100 和10为一组、100和1000为一组,每一组的前一个代表等待多少毫 秒启动vibrator,后一个代表vibrator持续多少毫秒停止,之后往复即 可。Repeat表示指定pattern数组的索引,指定pattern数组从repeat开始的震动进行循环,当其为-1时,表示不重复只以pattern的方 式运行一次。如上面repeat还可以为0,1,2,3.不能取其它值了。
repeat为0时,按照停100,震10,停100震1000的规则一直重复震动;
repeat为1时,先按数组震动一次,然后按照停10,震100的规则重复震动;
repeat为2时,先按数组震动一次,然后按照停100,震1000的规则重复震动;
repeat为3时,只按数组震动一次。