本文实例讲述了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程序设计有所帮助。
新闻热点
疑难解答
图片精选