Android實現手機震動設定的方法_Android

來源:互聯網
上載者:User

本文執行個體講述了Android實現手機震動設定的方法。分享給大家供大家參考。具體如下:

main.xml布局檔案:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:orientation="vertical" android:layout_width="fill_parent"  android:layout_height="fill_parent">  <LinearLayout android:orientation="horizontal"    android:layout_width="fill_parent"    android:layout_height="wrap_content">    <ToggleButton android:id="@+id/tb1"      android:textOn="關閉震動"       android:textOff="啟動震動"      android:checked="false"       android:layout_width="wrap_content"      android:layout_height="wrap_content" />    <TextView android:id="@+id/tv1"      android:text="震動已關閉"       android:layout_width="wrap_content"      android:layout_height="wrap_content" />  </LinearLayout>  <LinearLayout android:orientation="horizontal"    android:layout_width="fill_parent"    android:layout_height="wrap_content">    <ToggleButton android:id="@+id/tb2"      android:textOn="關閉震動"       android:textOff="啟動震動"      android:checked="false"       android:layout_width="wrap_content"      android:layout_height="wrap_content" />    <TextView android:id="@+id/tv2"      android:text="震動已關閉"       android:layout_width="wrap_content"      android:layout_height="wrap_content" />  </LinearLayout></LinearLayout>

資訊清單檔:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"  package="com.ljq.activity" android:versionCode="1"  android:versionName="1.0">  <application android:icon="@drawable/icon"    android:label="@string/app_name">    <activity android:name=".VibrateActivity"      android:label="@string/app_name">      <intent-filter>        <action android:name="android.intent.action.MAIN" />        <category          android:name="android.intent.category.LAUNCHER" />      </intent-filter>    </activity>  </application>  <uses-sdk android:minSdkVersion="7" />  <!-- 設定手機震動許可權 -->  <uses-permission android:name="android.permission.VIBRATE" /></manifest>

VibrateActivity類:

package com.ljq.activity;import android.app.Activity;import android.app.Service;import android.os.Bundle;import android.os.Vibrator;import android.widget.CompoundButton;import android.widget.TextView;import android.widget.ToggleButton;import android.widget.CompoundButton.OnCheckedChangeListener;public class VibrateActivity extends Activity {  private Vibrator vibrator=null;  private ToggleButton tb1=null, tb2=null;  private TextView tv1=null, tv2=null;  @Override  public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    //注意模擬器是類比不了震動的,得真機測試哦    //建立vibrator對象    vibrator=(Vibrator)getSystemService(Service.VIBRATOR_SERVICE);    tv1=(TextView)findViewById(R.id.tv1);    tv2=(TextView)findViewById(R.id.tv2);    tb1=(ToggleButton)findViewById(R.id.tb1);    tb2=(ToggleButton)findViewById(R.id.tb2);    tb1.setOnCheckedChangeListener(listener);    tb2.setOnCheckedChangeListener(listener);  }  OnCheckedChangeListener listener=new OnCheckedChangeListener(){    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {      ToggleButton toggleButton=(ToggleButton)buttonView;      switch (toggleButton.getId()) {      case R.id.tb1:        if(isChecked){          //根據指定的模式進行震動          //第一個參數:該數組中第一個元素是等待多長的時間才啟動震動,          //之後將會是開啟和關閉震動的期間,單位為毫秒          //第二個參數:重複震動時在pattern中的索引,如果設定為-1則表示不重複震動          vibrator.vibrate(new long[]{1000,50,50,100,50}, -1);          tv1.setText("震動已啟動");        }else {          //關閉震動          vibrator.cancel();          tv1.setText("震動已關閉");        }        break;      case R.id.tb2:        if(isChecked){          //啟動震動,並持續指定的時間          vibrator.vibrate(3500);          tv2.setText("震動已啟動");        }else {          //關閉啟動          vibrator.cancel();          tv2.setText("震動已關閉");        }        break;      }    }  };}

運行結果:

希望本文所述對大家的Android程式設計有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.