Welcome

首页 / 移动开发 / Android / Android实现手机振动设置的方法

本文实例讲述了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" /><categoryandroid: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;@Overridepublic 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程序设计有所帮助。