Android提供的系統服務之–Vibrator(振動器)
——轉載請註明出處:coder-pig
Vibrator簡介與相關方法:
vcD4KPHA+PGJyPgo8L3A+CjxwPjxzdHJvbmc+vPK1pWRlbW+hqqGqyejWw8a1wso8L3N0cm9uZz48c3Ryb25nPrK7zay1xNXxtq/G9zwvc3Ryb25nPjwvcD4KPHA+PGJyPgo8L3A+CjxwPjxzdHJvbmc+ttTT2lZpYnJhdG9y08O1xNfuueO3urXExKq5/dPay/nOvbXEyta7+rC0xKbG98DgtcRhcHAs1NphcHDK0LOh0rvL0SzSu7bRLLHK1d/L5rHjz8LBy7y4uPbPwsC0s/Kz8jwvc3Ryb25nPjwvcD4KPHA+PHN0cm9uZz4strzKx7TzzazQodLstcQs1eK149ChzebS4jwvc3Ryb25nPjxzdHJvbmc+vrnIu9PQOFe24LXEz8LU2MG/Li4uusOwySy6w8/x0rKyu8vjtuAssru5/cbVsem5psTctrzKx8fQu7vV8bavxrXCysC0zeqzyTwvc3Ryb25nPjwvcD4KPHA+PHN0cm9uZz7L+c69tcSwtMSm0Ke5+yzKx7fx1ea1xNPQ0Ke+zbK7tcO2+NaqwcssxMfDtL3Tz8LAtDwvc3Ryb25nPjwvcD4KPHA+PHN0cm9uZz7O0sPHvs3AtMq1z9bSu7j2vPK1pbXEsLTEpsb3sMkhPC9zdHJvbmc+PC9wPgo8cD48c3Ryb25nPrrL0MTG5Mq1vs3Kx3ZpYnJhdGUoKdbQtcTK/dfptcSyzsr9LLj5vt3X1Ly60OjH89C00ru49sr91+m+zb/J0tTByyE8L3N0cm9uZz48L3A+CjxwPjxzdHJvbmc+0vLOqsSjxOLG97K7u+HV8bavtcQsy/nS1NDo0qrU2srWu/rJz9TL0NCyxbvh09DQp7n7xbYhPC9zdHJvbmc+PC9wPgo8cD48YnI+CjwvcD4KPHA+PHN0cm9uZz7Qp7n7zbw6PC9zdHJvbmc+PC9wPgo8cD48c3Ryb25nPjxpbWcgc3JjPQ==”/uploadfile/Collfiles/20141107/20141107083938154.jpg” alt=”\”>
代碼也很簡單,佈局的話就四個簡單的按鈕而已
activity_main.xml:
接著就是MainActivity的編寫瞭,這裡和上一節的寫法是一樣的,讓Activity類實現OnClickListener接口
重寫onClick方法,根據不同的view的id就可以判斷是哪個按鈕點擊瞭,這種寫法的好處是對於組件較多的
情況這樣寫可以簡化代碼!
MainActivity.java:
package com.jay.example.vibratordemo; import android.app.Activity; import android.app.Service; import android.os.Bundle; import android.os.Vibrator; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener{ private Button btnshort; private Button btnlong; private Button btnrhythm; private Button btncancel; private Vibrator myVibrator; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnshort = (Button) findViewById(R.id.btnshort); btnlong = (Button) findViewById(R.id.btnlong); btnrhythm = (Button) findViewById(R.id.btnrhythm); btncancel = (Button) findViewById(R.id.btncancle); btnshort.setOnClickListener(this); btnlong.setOnClickListener(this); btnrhythm.setOnClickListener(this); btncancel.setOnClickListener(this); //獲得系統的Vibrator實例: myVibrator = (Vibrator) getSystemService(Service.VIBRATOR_SERVICE); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btnshort: myVibrator.cancel(); myVibrator.vibrate(new long[]{100,200,100,200}, 0); Toast.makeText(getApplicationContext(), "短振動", Toast.LENGTH_SHORT).show(); break; case R.id.btnlong: myVibrator.cancel(); myVibrator.vibrate(new long[]{100,100,100,1000}, 0); Toast.makeText(getApplicationContext(), "長振動", Toast.LENGTH_SHORT).show(); break; case R.id.btnrhythm: myVibrator.cancel(); myVibrator.vibrate(new long[]{500,100,500,100,500,100}, 0); Toast.makeText(getApplicationContext(), "節奏振動", Toast.LENGTH_SHORT).show(); break; case R.id.btncancle: myVibrator.cancel(); Toast.makeText(getApplicationContext(), "取消振動", Toast.LENGTH_SHORT).show(); } } }
最後別忘瞭在AndroidManifest.xml文件中添加權限哦!
好瞭,基本用法其實也是很簡單的,這裡就不多說瞭,另外上面也說瞭,虛擬機是沒有震動效果的,所以
需要把應用發佈到手機上才能檢測效果瞭!參考代碼下載:vibratorDemo.rar
為瞭方便各位,直接把apk導出來吧,直接下載安裝到手機就可以測試效果瞭,當然隻是個小demo,不會
推送廣告,亂發短信什麼的=-=!安裝時可以查看所需要的權限!apk下載:vibratorDemo.apk