設定震動(Vibration)事件中,必須要知道命令其震動的時間長短、震動事件的周期等,而在Android裡設定的數值,皆是以毫秒(1000毫秒=1秒)來做計算,所以在做設定時,必須要注意一下,如果設定的時間值太小的話,會感覺不出來。
要讓手機乖乖的震動,需建立Vibrator對象,通過調用vibrate方法來達到震動的目的,在Vibrator的構造器中有4個參數,前3個的值是設定震動的大小,在這邊可以把數值改成一大一小,這樣就可以明顯感覺出震動的差異,而最後一個值是設定震動的時間。
以下的範例設定每個震動的模式都不一樣,當repeat = 0時,震動會一直持續,若repeat = −1時,震動只會出現一輪,運行完畢後就不會再有動作。
import android.content.Context;import android.os.Vibrator;/** * 震動 如果報錯請在 androidManifest.xml中加入 以下語句 * * <uses-permission android:name="android.permission.VIBRATE" /> * @author alex.xin * */public class Vibrate { final static String TAG = "GameEngine"; Vibrator vibrator; long[] pattern = { 800, 50, 400, 30 }; // 震動周期 可以自己設定 public Vibrate(Context context) { vibrator = (Vibrator) context .getSystemService(context.VIBRATOR_SERVICE); } public void playVibrate(int type) { vibrator.vibrate(pattern, type); // -1不重複,非-1為從pattern的指定下標開始重複 } public void Stop() { vibrator.cancel(); }}
試著把震動的大小做多變化的改變,在long[]裡面可以多做一些變化,上面的程式對參數的用法作了示範。