当前位置: 代码迷 >> Android >> Android学习心得(附四)——振动器
  详细解决方案

Android学习心得(附四)——振动器

热度:60   发布时间:2016-05-01 14:09:37.0
Android学习心得(附4)——振动器
总感觉手机上的振动器没有多大用处(当然静音模式下的振铃很有用),但还是顺带着说一下吧,只有两行代码:
1、获取振动服务的实例
Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

2、设置振动时长,单位当然也是ms
vibrator.vibrate(1000);

如果你觉得这样过去单调的话,可以设个节奏:
vibrator.vibrate(new long[]{10, 100, 20, 200}, -1);

两个参数,习惯告诉我第一个是节奏,第二个是重复次数(看下面兄弟的评论吧,已经说清楚了),可事实并没有这么简单,我翻译不好,大家还是看原文吧:
public void vibrate (long[] pattern, int repeat)
pattern: an array of longs of times to turn the vibrator on or off.
repeat: the index into pattern at which to repeat, or -1 if you don't want to repeat.
google喜欢弄些技巧,我却觉得这里有点弄巧成拙了。

(作者:子轩,邮箱:[email protected]
[本节结束]
1 楼 raymondlueng 2009-10-02  
第二个并非重复的次数,而是pattern的下标!
2 楼 wzc0066 2011-07-05  
通过魅族M9测试,vibrator.vibrate(1000);最多也就震动两秒左右,参数给的再大也不起作用了。

关于vibrator.vibrate(new long[]{10, 100, 20, 200}, -1); 
表示停10ms, 震100ms, 停20ms,震200ms
-1 表示不重复!
非-1表示从指定的下标开始重复震动;如第二个参数是0, 则一圈一圈的循环震动下去了;
如果是2,这第一遍震动后,从“20”这个参数开始再循环震动!
  相关解决方案