Android系统中Vibrator对象负责对手机震动的处理,具体的实现方法:
1.获取振动器Vibrator的实例:
Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); getSystemService(VIBRATOR_SERVICE):获得一个震动的服务
2.调用vibrate方法来产生震动:
//震动5秒 vibrator.vibrate(5000);
//等待1秒,震动2秒,等待1秒,震动3秒 long[] pattern = {1000, 2000, 1000, 3000}; //-1表示不重复, 如果不是-1, 比如改成1, 表示从前面这个long数组的下标为1的元素开始重复. vibrator.vibrate(pattern, -1);
<uses-permission android:name="android.permission.VIBRATE" />
下面的实例包含了产生震动的两个方法
VibratorDemoActivity.java
package com.lingdududu.test; import android.app.Activity; import android.os.Bundle; import android.os.Vibrator; import android.view.MotionEvent; /* * @author lingdududu * 当程序开始运行结束时,手机等待1秒就开始震动2秒,再等待1秒,开始震动3秒 * 当我们点击手机屏幕,触发onTouchEvent事件,手机就开始震动1秒 */ public class VibratorDemoActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); long[] pattern = {1000, 2000, 1000, 3000}; // OFF/ON/OFF/ON...... vibrator.vibrate(pattern, -1); } @Override public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_MOVE) { Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); vibrator.vibrate(1000); } return super.onTouchEvent(event); } }注:记得在AndroidManifest.xml文件添加权限,还有程序要在真机上运行才能有震动的效果,模拟器上不支持震动的。