设置android电话震动,如何设置手机在通话接通和断开时震动
[Android Version]
Android V2.3 ( GB,GB2)
Android V4.0, 4.1( ICS, ICS2, JB)
Android V4.2( JB2,JB3,JB5)
Android V4.4
Android V5.0,5.1
[DESCRIPTION]
若是需要客制化在通话接通或者断开时手机震动的行为,可以参考以下修改
[SOLUTION]
通话接通时:
Android V4.4之前版本:
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;
mtkAndroid V4.4及之后版本:
已有此功能。
通话挂断后:
在CallNotifier.java 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系统提醒功能,华为手机短信不提醒怎么办?华为手机短信提醒设置方法...
华为手机短信提醒设置方法 1)检查当前设置的默认短信应用是哪个应用. ①点击桌面"设置"图标②找到"应用程序管理" ③选择"默认应用设置"④ ...
- android studio怎么设置,android studio快捷键如何设置 android studio快捷键设置方法
Android studio的快捷键是一个很方便的存在,在编程的时候,我们都更习惯使用键盘,快捷键的操作可以提高编程效率,那么android studio快捷键如何设置呢,下面来看看设置方法. 快捷键 ...
- 设置android电话震动,Android手机震动的设置步骤
[www.citswd.com--服务合同] a.通过系统服务获得手机震动服务,Vibrator vibrator = (Vibrator)getSystemService(VIBRATOR_SERV ...
- 怎么设置android投屏 桌面程序,手机怎么投屏到电脑?
手机投屏智能电视,相信大家都会操作,那么手机如何投屏电脑,通过键盘和鼠标操作手机屏幕呢.根据使用者的环境,有不同的投屏方法,下文具体说一说. 1.win10操作系统 如果电脑安装了win10操作系统, ...
- android手柄设置在哪里设置,android蓝牙游戏手柄怎样设置
趣迷安卓蓝牙手柄 支持android,ios,pc等不同的平台游戏,可直接与手机.平板电脑等设备直接连接.设备无需ROOT,也无需下载第三方软件辅助连接,功能全面,有多种模式供选择.针对不同平台的游戏 ...
- html中字体移动怎么设置彩铃,电话彩铃怎么设置
大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 以网易云音乐为例,设置电话彩铃的方法是: 1.首先打开网易云音乐. 2.然后点击网易云音乐主页面右上方的搜索图标. 3.接着在搜索 ...
- android 去指纹设置,android调用系统指纹设置页面录入指纹
在做指纹登录时,有时候会遇到设备并未录入指纹,需要提示用户去开启. 如果需要自动跳转到系统的指纹设置页面,录入指纹,那就需要调用系统组件 由于google加入指纹支持是在6.0,而国内很多厂商很早便加 ...
- android 设置网络超时时间设置,Android:AndroidHttpClient-如何设置超时时间?
我已经按照kuester2000的回答进行了操作,但是我的超时设置似乎不起作用. try { int timeout = 3000; URL myURL = //some valid URL Andr ...
- android 设置画布大小设置,Android自定义视图:设置画布大小以包装位图
我有一个自定义视图,其中包含Canvas.我正在使用此画布在其上显示位图,然后我可以在触摸时绘制位图.当我加载位图时,它比视图大小大得多,我看不到整个位图(它是用相机拍摄的照片).我尝试创建缩放的位图 ...
最新文章
- 再记一次ceph object unfound的艰辛历程
- 微生物组-扩增子16S分析研讨会(2020.1)
- Servlet 异常处理
- 干货二:微信SDK-分享初探-更新中
- CSSbackground的详细使用
- ural1147 Shaping Regions
- php简单记账本_代理记账的三种方式
- 懒人修仙传ce修改方法_专访|《凡人修仙传》原著作者忘语:“韩老魔”原型是我...
- C++内存和进程,线程学习补充(内存泄漏,信号量)
- ffmpeg处理YUV422和YUV420P相互转换
- linux不支持tailf指令,Linux安装tailf
- 计算机专业暑假实践心得7篇,计算机专业实习周记总结10篇
- (CSS)3.三种基本选择器(标签,类,id)
- Canvas 画贝塞尔曲线(二阶曲线和三阶曲线)
- PAT A1008 Elevate
- 在制品与前置时间(又叫交付时间)
- 学习笔记之MOOC《计算机程序设计C++》第5周编程作业
- idea open操作打开文件夹无反应
- HTML+CSS+原生JS写一个简易的音乐播放器(仅播放一首歌)
- 如何使用IDEA创建一个新的项目