public class MainActivity extends Activity {
private Vibrator vibrator;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
}
public void click(View view) {
// vibrator.vibrate(2000);//震動2s
vibrator.vibrate(new long[] { 3000, 100, 100, 1000 }, -1);
}
}
代碼詳解
取得震動服務的句柄
vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
或者
vibrator = (Vibrator)getApplication().getSystemService(Service.VIBRATOR_SERVICE);
開始震動有兩個接口
vibrator.vibrate(2000);//震動指定時間 ,數據類型long,單位為毫秒,一毫秒為1/1000秒
vibrator.vibrate(new long[]{100,10,100,1000}, –1);
按照指定的模式去震動。
數組參數意義:第一個參數為等待指定時間後開始震動,震動時間為第二個參數。後邊的參數依次為等待震動和震動的時間
第二個參數為重復次數,-1為不重復,0為一直震動。
取消震動
vibrator.cancel();//取消震動,立即停止震動
震動為一直震動的話,如果不取消震動,就算退出,也會一直震動。
權限
<uses-permission android:name="android.permission.VIBRATE"/>