转载自http://blog.163.com/hehaifeng1984@126/blog/#m=0&t=1&c=fks_084070080081080066085083081095082095081067085087085069
没测试,感觉挺好玩,试验一下,手机震动
btn = (Button) findViewById(R.id.button); btn.setOnClickListener(this); btn2 = (Button) findViewById(R.id.button2); btn2.setOnClickListener(this); btn3 = (Button) findViewById(R.id.button3); btn3.setOnClickListener(this); //------------------------------------------------------------------------- @Override public void onClick(View v) { switch(v.getId()){ case R.id.button: VibratorUtil.Vibrate(this, 100); break; case R.id.button2: VibratorUtil.Vibrate(this, new long[]{100, 200, 100, 200, 100, 200}, true); break; case R.id.button3: VibratorUtil.Cancel(this); } } public class VibratorUtil { /** * <!--添加震动权限--> *<uses-permission android:name="android.permission.VIBRATE" /> * final Activity activity :调用该方法的Activity实例 * long milliseconds :震动的时长,单位是毫秒 * long[] pattern :自定义震动模式 。数组中数字的含义依次是[静止时长,震动时长,静止时长,震动时长。。。]时长的单位是毫秒 * boolean isRepeat : 是否反复震动,如果是true,反复震动,如果是false,只震动一次 */ public static void Vibrate(final Activity activity, long milliseconds) { Vibrator vib = (Vibrator) activity.getSystemService(Service.VIBRATOR_SERVICE); vib.vibrate(milliseconds); } public static void Vibrate(final Activity activity, long[] pattern, boolean isRepeat) { Vibrator vib = (Vibrator) activity.getSystemService(Service.VIBRATOR_SERVICE); vib.vibrate(pattern, isRepeat ? 1 : -1); } public static void Cancel(final Activity activity){ Vibrator vib = (Vibrator) activity.getSystemService(Service.VIBRATOR_SERVICE); vib.cancel(); } }