您的位置:首页 > 其它

手机震动----Service.VIBRATOR_SERVICE

2016-09-29 16:40 399 查看
转载自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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息