最近接手了一个手机应用的项目,其中主要通信功能已将实现,其具体的实现过程将继续研究。但是我要添加一些功能,如发短信成功之后通知给用户,初步设定手机震动来通知用户,因此写了一个手机震动的小例子:
其界面是:
主要是应用android.os.Vibrator包来提供震动的api。
实现过程是:
action类:
package com.easymorse;
import android.app.Activity; import android.app.Service; import android.os.Bundle; import android.os.Vibrator; import android.view.View; import android.view.View.OnClickListener; import android.widget.Toast; import android.widget.ToggleButton;
public class PhoneVibration extends Activity {
private Vibrator mVibrator01; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); /*设置ToggleButton的对象*/ mVibrator01 = ( Vibrator )getApplication().getSystemService (Service.VIBRATOR_SERVICE); //建立按钮 final ToggleButton toggleButton=(ToggleButton) findViewById(R.id.myTogglebutton1); toggleButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { if (toggleButton.isChecked()) { /* 设置震动的周期 */
// 100 毫秒延迟后,震动 10 毫秒,暂停 100 毫秒后,再震动 1000 毫秒 mVibrator01.vibrate( new long[]{100,10,100,1000},-1); /*用Toast显示震动启动*/ Toast.makeText ( PhoneVibration.this, getString(R.string.str_ok), Toast.LENGTH_SHORT ).show(); } else { /* 取消震动 */ mVibrator01.cancel(); /*用Toast显示震动已被取消*/ Toast.makeText ( PhoneVibration.this, getString(R.string.str_end), Toast.LENGTH_SHORT ).show(); } } }); } }
最主要的是要在AndroidManifest.xml中添加权限:
<uses-permission android:name="android.permission.VIBRATE" />
项目网址: