使用android 調用震動的例子

  • 原文鏈接:http://www.it165.net/pro/html/201107/128.html

  • 調用Android系統的震動,只需要一個類 那就是Vibrator ,這個類在hard包中,一看系統級的服務,又要通過manifest.xml文件設置權限了

    01.<?xml version="1.0" encoding="utf-8"?>
    02.<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    03.package="uni.vibrator"
    04.android:versionCode="1"
    05.android:versionName="1.0">
    06.<uses-sdk android:minSdkVersion="8" />
    07. 
    08.<application android:icon="@drawable/icon" android:label="@string/app_name">
    09.<activity android:name=".VibratorDemoActivity"
    10.android:label="@string/app_name">
    11.<intent-filter>
    12.<action android:name="android.intent.action.MAIN" />
    13.<category android:name="android.intent.category.LAUNCHER" />
    14.</intent-filter>
    15.</activity>
    16. 
    17.</application>
    18.<uses-permission android:name="android.permission.VIBRATE" />
    19.</manifest>

    Class that operates the vibrator on the device.
    If your process exits, any vibration you started with will stop.

    //Vibrator類用來操作設備上的震動,如果你的線程退出了,那麼啓動的震動也會停止

    ---------------------------------------------------------------------------------------------------------------------------------------------------
    public void vibrate (long[] pattern, int repeat)
    Since: API Level 1

    Vibrate with a given pattern.  //根據給定的節奏震動

    Pass in an array of ints that are the durations for which to turn on or off the vibrator in milliseconds. The first value indicates the number of milliseconds to wait before turning the vibrator on. The next value indicates the number of milliseconds for which to keep the vibrator on before turning it off. Subsequent values alternate between durations in milliseconds to turn the vibrator off or to turn the vibrator on.
    //傳遞一個整型數組作爲關閉和開啓震動的持續時間,以毫秒爲單位。第一個值表示等待震動開啓的毫秒數,下一個值表示保持震動的毫秒數,這個序列值交替表示震動關閉和開啓的毫秒數

    To cause the pattern to repeat, pass the index into the pattern array at which to start the repeat, or -1 to disable repeating.
    //爲了重複的按設定的節奏震動,傳遞index參數表示重複次數,用-1表示不重複。

    Parameters
    pattern     an array of longs of times for which to turn the vibrator on or off.
    repeat     the index into pattern at which to repeat, or -1 if you don't want to repeat.
    ---------------------------------------------------------------------------------------------------------------------------------------------------

    還包含一個方法叫做cancel,用來取消震動

    一段演示的代碼


     

    01./*
    02.* @author octobershiner
    03.* 2011 7 25
    04.* SE.HIT
    05.* 一個使用android手機震動的demo
    06.* */
    07.package uni.vibrator;
    08. 
    09.import android.app.Activity;
    10.import android.content.Context;
    11.import android.os.Bundle;
    12.import android.os.Vibrator;
    13. 
    14.public class VibratorDemoActivity extends Activity {
    15.private Vibrator vibrator;
    16./** Called when the activity is first created. */
    17.@Override
    18.public void onCreate(Bundle savedInstanceState) {
    19.super.onCreate(savedInstanceState);
    20.setContentView(R.layout.main);
    21. 
    22./*
    23.* 想設置震動大小可以通過改變pattern來設定,如果開啓時間太短,震動效果可能感覺不到
    24.* */
    25.vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);
    26.long [] pattern = {100,400,100,400};   // 停止 開啓 停止 開啓
    27.vibrator.vibrate(pattern,2);           //重複兩次上面的pattern 如果只想震動一次,index設爲-1
    28.}
    29. 
    30.public void onStop(){
    31.super.onStop();
    32.vibrator.cancel();
    33.}
    34.}

發佈了20 篇原創文章 · 獲贊 25 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章