最近接手了一个手机应用的项目,其中主要通信功能已将实现,其具体的实现过程将继续研究。但是我要添加一些功能,如发短信成功之后通知给用户,初步设定手机震动来通知用户,因此写了一个手机震动的小例子:

其界面是:

主要是应用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" />

项目网址:

相关日志