通话接通和断开时振动
来源:互联网 发布:数据库概论百度云 编辑:程序博客网 时间:2024/04/29 13:03
[Android Version]
Android V2.3 (GB,GB2)
Android V4.0, 4.1(ICS,ICS2,JB)
Android V4.2(JB2,JB3,JB5)
[DESCRIPTION]
若是需要客制化在通话接通或者断开时手机震动的行为,可以参考以下修改
[SOLUTION]
通话接通时:
1 在packages\apps\phone\src\com\android\phone\CallNotifier.java开头处添加
private Vibrator mVibrator;
2 在packages\apps\phone\src\com\android\phone\CallNotifier.java函数onPhoneStateChanged开头处添加
if (mVibrator == null){
mVibrator = (Vibrator) mApplication.getApplicationContext().getSystemService(Context.VIBRATOR_SERVICE);
}
3 在packages\apps\phone\src\com\android\phone\CallNotifier.java中添加一个成员变量
Call.State mLastCallState = Call.State.IDLE;
然后在函数onPhoneStateChanged中的语句Phone fgPhone = mCM.getFgPhone();后添加以下代码
Call.State ringCallState = mCM.getRingingPhone().getRingingCall().getState();
Call.State fgCallState = mCM.getActiveFgCallState();
if ((ringCallState==Call.State.IDLE && mLastCallState.isRinging()) ||//MT
(fgCallState==Call.State.ACTIVE && mLastCallState.isDialing()))//MO
{
//here means that call is connected
final int MO_CALL_VIBRATE_TIME = 300; // msec
mVibrator.vibrate(MO_CALL_VIBRATE_TIME);
}
mLastCallState = ringCallState.isRinging() ? ringCallState:fgCallState;
通话挂断后:
在CallNotifier.java (alps\packages\apps\phone\src\com\android\phone)的 onDisconnect ()中
Phone.State state = mCM.getState() ;后添加如下Code
if (mVibrator == null){
mVibrator = (Vibrator) mApplication.getApplicationContext().getSystemService(Context.VIBRATOR_SERVICE);
}
final int CALL_DISC_VIBRATE_TIME = 300; // msec
mVibrator.vibrate(CALL_DISC_VIBRATE_TIME);
- 通话接通和断开时振动
- Android通话接通震动
- Android通话接通监听
- 黑莓的接通振动设置
- [Android实例]通话接通后震动提示
- [Android实例]通话接通后震动提示
- [Android实例]通话接通后震动提示
- 通话接通后震动提示 示例讲解
- 基于Android源码开发的来电接通振动功能实现
- 基于Android源码开发的来电接通振动功能实现
- 情景模式标准模式下默认通话振动
- Android Sipdroid 对外通话建立过程分析,以及监听通话接通时刻
- 轴振动和轴承振动的区别
- android振动和响铃
- android 电话接通时震动
- 电话接通时打开扬声器
- android 电话接通时震动
- android源代码 锁屏灭屏来电接通后立即息屏、通话过程中息屏对方挂断不亮屏
- skip list介绍
- iptables 映身端口
- C#DataTable操作
- kvm虚拟机 xml文件配置(备忘)
- iOS_CoreData的增删改查
- 通话接通和断开时振动
- 介绍Linux目录结构 & Linux分区大小、挂载点 和如何分区
- mysql数据库CRUD
- SecheduledExecutorService
- 黑马程序员4 -- os面向对象和三大特性
- Android 编程下两种方式注册广播的区别
- windows系统 ---启动篇
- Linux下Mongodb的主从配置
- mac上安装使用composer