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

基于Android源码开发的来电接通振动功能实现

2010-12-11 20:45 671 查看
我们在使用HTC的GXX时,会发现他有一个功能是接通后振动提示,虽然说不是什么大的功能,但是使用比较方便,比如在呼叫过程中的时候就可以放在桌子上等振动了就说明电话被接通了再拿起来说话,就避免了一直放到耳边等待对方。具体的实现如下,当然实现方式可能和它不一样,但是效果一样,呵呵。

由于我们是基于源码开发的,所以只讨论在PhoneApp里面添加该功能,独立模块或者基于SDK开发的不讨论。注意修改PhoneApp模块中的CallNotify.java文件。

1. 声明Vibrartor相关变量:

// Call active notify vibrate
private Vibrator mVibrator;

// Default vibrate time
private static final int VIBRATE_LENGTH = 100;
private boolean mAlreadyVibrate = true;


2. 在构造函数中创建Vibrator:

mVibrator = new Vibrator();


3. 在onPhoneStateChanged的末尾,也就是GSM分支中(只支持GSM call),加入如下代码段:

if(callState == Call.State.DISCONNECTING) {
mAlreadyVibrate = true;
}else if(mAlreadyVibrate &&
callState == Call.State.ACTIVE) {
// vibrate notify
mVibrator.vibrate(VIBRATE_LENGTH);
mAlreadyVibrate = false;
}


注:mAlreadyVibrate 主要是用于防止重复振动。OK,测试一下吧~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: