您的位置:首页 > 移动开发 > Android开发

访问Android硬件资源の控制设备的振动

2012-01-09 23:36 363 查看
手机设备振动是向用户反馈信息的一种很好的方法,特别是在游戏应用中得到了极大的发挥。要控制设备的振动,我们的应用程序需要获得许可,即在AndroidManifest.xml文件中添加如下代码:

<uses-permission android:name="android.permission.VIBRATE"/>

设备振动是通过Vibrator类来实现的,获取这个类实例的代码如下:

String vibratorService = Context.VIBRATOR_SERVICE;
Vibrator vibrator = (Vibrator) getSystemService(vibratorService);

调用vibrate函数开始振动,这个函数有两个重载函数,分别是:

void vibrate(long[] pattern, int repeat);
void vibrate(long milliseconds);

前者以某一指定的模式和重复次数作为参数,后者以振动的毫秒数作为参数。

调用cancel函数可以取消振动,要注意,退出振动程序后,如果不手动调用cancel函数取消振动的话,该振动将会持续下去(如果是持续振动的话),而不管应用程序是否退出。

下面简单的程序实现的功能是在程序启动后1秒,振动2秒,停止振动4秒,接着振动8秒,停止振动16秒,周而复始。

package hust.iprai.asce1885;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Vibrator;

public class DeviceVibrationActivity extends Activity {

private Vibrator vibrator = null;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

String vibratorService = Context.VIBRATOR_SERVICE;
vibrator = (Vibrator) getSystemService(vibratorService);

long[] pattern = {1000, 2000, 4000, 8000, 16000};
vibrator.vibrate(pattern, 0);

}

@Override
protected void onDestroy() {
super.onDestroy();
vibrator.cancel();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: