[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电话震动,如何设置手机在通话接通和断开时震动相关推荐

  1. 华为设置android系统提醒功能,华为手机短信不提醒怎么办?华为手机短信提醒设置方法...

    华为手机短信提醒设置方法 1)检查当前设置的默认短信应用是哪个应用. ①点击桌面"设置"图标②找到"应用程序管理" ③选择"默认应用设置"④ ...

  2. android studio怎么设置,android studio快捷键如何设置 android studio快捷键设置方法

    Android studio的快捷键是一个很方便的存在,在编程的时候,我们都更习惯使用键盘,快捷键的操作可以提高编程效率,那么android studio快捷键如何设置呢,下面来看看设置方法. 快捷键 ...

  3. 设置android电话震动,Android手机震动的设置步骤

    [www.citswd.com--服务合同] a.通过系统服务获得手机震动服务,Vibrator vibrator = (Vibrator)getSystemService(VIBRATOR_SERV ...

  4. 怎么设置android投屏 桌面程序,手机怎么投屏到电脑?

    手机投屏智能电视,相信大家都会操作,那么手机如何投屏电脑,通过键盘和鼠标操作手机屏幕呢.根据使用者的环境,有不同的投屏方法,下文具体说一说. 1.win10操作系统 如果电脑安装了win10操作系统, ...

  5. android手柄设置在哪里设置,android蓝牙游戏手柄怎样设置

    趣迷安卓蓝牙手柄 支持android,ios,pc等不同的平台游戏,可直接与手机.平板电脑等设备直接连接.设备无需ROOT,也无需下载第三方软件辅助连接,功能全面,有多种模式供选择.针对不同平台的游戏 ...

  6. html中字体移动怎么设置彩铃,电话彩铃怎么设置

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 以网易云音乐为例,设置电话彩铃的方法是: 1.首先打开网易云音乐. 2.然后点击网易云音乐主页面右上方的搜索图标. 3.接着在搜索 ...

  7. android 去指纹设置,android调用系统指纹设置页面录入指纹

    在做指纹登录时,有时候会遇到设备并未录入指纹,需要提示用户去开启. 如果需要自动跳转到系统的指纹设置页面,录入指纹,那就需要调用系统组件 由于google加入指纹支持是在6.0,而国内很多厂商很早便加 ...

  8. android 设置网络超时时间设置,Android:AndroidHttpClient-如何设置超时时间?

    我已经按照kuester2000的回答进行了操作,但是我的超时设置似乎不起作用. try { int timeout = 3000; URL myURL = //some valid URL Andr ...

  9. android 设置画布大小设置,Android自定义视图:设置画布大小以包装位图

    我有一个自定义视图,其中包含Canvas.我正在使用此画布在其上显示位图,然后我可以在触摸时绘制位图.当我加载位图时,它比视图大小大得多,我看不到整个位图(它是用相机拍摄的照片).我尝试创建缩放的位图 ...

最新文章

  1. 再记一次ceph object unfound的艰辛历程
  2. 微生物组-扩增子16S分析研讨会(2020.1)
  3. Servlet 异常处理
  4. 干货二:微信SDK-分享初探-更新中
  5. CSSbackground的详细使用
  6. ural1147 Shaping Regions
  7. php简单记账本_代理记账的三种方式
  8. 懒人修仙传ce修改方法_专访|《凡人修仙传》原著作者忘语:“韩老魔”原型是我...
  9. C++内存和进程,线程学习补充(内存泄漏,信号量)
  10. ffmpeg处理YUV422和YUV420P相互转换
  11. linux不支持tailf指令,Linux安装tailf
  12. 计算机专业暑假实践心得7篇,计算机专业实习周记总结10篇
  13. (CSS)3.三种基本选择器(标签,类,id)
  14. Canvas 画贝塞尔曲线(二阶曲线和三阶曲线)
  15. PAT A1008 Elevate
  16. 在制品与前置时间(又叫交付时间)
  17. 学习笔记之MOOC《计算机程序设计C++》第5周编程作业
  18. idea open操作打开文件夹无反应
  19. HTML+CSS+原生JS写一个简易的音乐播放器(仅播放一首歌)
  20. 如何使用IDEA创建一个新的项目

热门文章

  1. 100道计算机故障检测试题,计算机故障检测与维护项目测试题:计算机系统维护测试题(一).docx...
  2. 浮点数保留小数点后两位(JS)
  3. jQuery中append、prepend等的用法与记忆
  4. python程序下载及安装_安装下载python的安装和配置
  5. 论文完成过程中发现的重要问题
  6. ChinaNet无法使用谷歌浏览器
  7. JAVA程序员必须掌握的数据结构的面试题(附答案)
  8. 3D文件格式之OBJ介绍
  9. 佛法十二因缘与生死轮回
  10. java中导出Excel就是这么简单