Android 震动功能
jopen
10年前
主界面代码:
package com.example.vibrator; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { private Button btn_vibrator_0; private Button btn_vibrator_1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_vibrator_0 = (Button) findViewById(R.id.btn_vibrator_0); btn_vibrator_1 = (Button) findViewById(R.id.btn_vibrator_1); /** * 点击设置默认震动模式,震动100毫秒 * */ btn_vibrator_0.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub //停止震动 VibratorUtil.VibrateCancel(MainActivity.this); VibratorUtil.Vibrate(MainActivity.this,100); //震动100ms } }); /** * 点击设置自定义震动模式,重复震动 * */ btn_vibrator_1.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub //停止震动 VibratorUtil.VibrateCancel(MainActivity.this); //设置震动参数,停50毫秒,震动100毫秒 long[] prams={50,100,50,100}; VibratorUtil.Vibrate(MainActivity.this,prams,true); //震动100ms } }); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); //停止震动 VibratorUtil.VibrateCancel(MainActivity.this); } }
package com.example.vibrator; import android.app.Activity; import android.app.Service; import android.os.Vibrator; /** * 手机震动工具类 * * @author Administrator * */ public class VibratorUtil { /** * final Activity activity :调用该方法的Activity实例 * long milliseconds :震动的时长,单位是毫秒 */ public static void Vibrate(final Activity activity, long milliseconds) { Vibrator vib = (Vibrator) activity .getSystemService(Service.VIBRATOR_SERVICE); vib.vibrate(milliseconds); } /** * final Activity activity :调用该方法的Activity实例 * long[] pattern :自定义震动模式。数组中数字的含义依次是[静止时长,震动时长,静止时长,震动时长。。。]时长的单位是毫秒 * boolean isRepeat :是否反复震动,如果是true,反复震动,如果是false,只震动一次 * */ public static void Vibrate(final Activity activity, long[] pattern, boolean isRepeat) { Vibrator vib = (Vibrator) activity .getSystemService(Service.VIBRATOR_SERVICE); vib.vibrate(pattern, isRepeat ? 1 : -1); } /** * 停止震动 * */ public static void VibrateCancel(final Activity activity){ Vibrator vib = (Vibrator) activity .getSystemService(Service.VIBRATOR_SERVICE); vib.cancel(); } }