歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

訪問Android硬件資源の控制設備的振動

手機設備振動是向用戶反饋信息的一種很好的方法,特別是在游戲應用中得到了極大的發揮。要控制設備的振動,我們的應用程序需要獲得許可,即在AndroidManifest.xml文件中添加如下代碼: [html]
  1. <uses-permission android:name="android.permission.VIBRATE"/>  

設備振動是通過Vibrator類來實現的,獲取這個類實例的代碼如下:

[java]
  1. String vibratorService = Context.VIBRATOR_SERVICE;  
  2. Vibrator vibrator = (Vibrator) getSystemService(vibratorService);  

調用vibrate函數開始振動,這個函數有兩個重載函數,分別是: 

[java]
  1. void vibrate(long[] pattern, int repeat);  
  2. void vibrate(long milliseconds);  

前者以某一指定的模式和重復次數作為參數,後者以振動的毫秒數作為參數。

調用cancel函數可以取消振動,要注意,退出振動程序後,如果不手動調用cancel函數取消振動的話,該振動將會持續下去(如果是持續振動的話),而不管應用程序是否退出。

下面簡單的程序實現的功能是在程序啟動後1秒,振動2秒,停止振動4秒,接著振動8秒,停止振動16秒,周而復始。

[java]
  1. package hust.iprai.asce1885;  
  2.   
  3. import android.app.Activity;  
  4. import android.content.Context;  
  5. import android.os.Bundle;  
  6. import android.os.Vibrator;  
  7.   
  8. public class DeviceVibrationActivity extends Activity {  
  9.       
  10.     private Vibrator vibrator = null;  
  11.       
  12.     /** Called when the activity is first created. */  
  13.     @Override  
  14.     public void onCreate(Bundle savedInstanceState) {  
  15.         super.onCreate(savedInstanceState);  
  16.         setContentView(R.layout.main);  
  17.           
  18.         String vibratorService = Context.VIBRATOR_SERVICE;  
  19.         vibrator = (Vibrator) getSystemService(vibratorService);  
  20.           
  21.         long[] pattern = {100020004000800016000};  
  22.         vibrator.vibrate(pattern, 0);  
  23.           
  24.     }  
  25.   
  26.     @Override  
  27.     protected void onDestroy() {  
  28.         super.onDestroy();  
  29.         vibrator.cancel();  
  30.     }  
  31. }  
Copyright © Linux教程網 All Rights Reserved