实现手机震动其实很简单,手机震动使用是Vibrator类,然后震动也是需要权限的,在使用之前在AndroidManifest.xml文件中添加
<uses-permission android:name="android.permission.VIBRATE"/>
然后这里示例的代码是使用点击按钮的时候可以实现震动,在按钮的点击事件的函数中添加这样几句话:
Vibrator vibrator = (Vibrator)this.getSystemService(this.VIBRATOR_SERVICE); vibrator.vibrate(1000);
这里的this代表的当前的Context,然后最后一行代码设置的是震动的时间,这里的单位是ms,这里只是震动一下,如果想要实现类似接电话的时候的连续的震动,可以使用另外一种方法。
首先,这里使用的是一个长整型数组,数组的a[0]表示静止的时间,a[1]代表的是震动的时间,然后数组的a[2]表示静止的时间,a[3]代表的是震动的时间……依次类推下去,然后这里的代码有一点小小的改变:
Vibrator vibrator = (Vibrator)this.getSystemService(this.VIBRATOR_SERVICE); long[] patter = {1000, 1000, 2000, 50}; vibrator.vibrate(patter, 0);
最后一行中vibrate的第二参数表示从哪里开始循环,比如这里的0表示这个数组在第一次循环完之后会从下标0开始循环到最后,这里的如果是-1表示不循环。
当然了,如果你设置成循环后,如果程序不结束它是不会停止震动的,这里使用
vibrator.cancel();
就可以停止震动了。
原文连接:Android实现震动的方法