【Call】如何实现简单的来电自动接听功能

2018-07-02  本文已影响0人  代码视觉

[DESCRIPTION]

自动接听的功能可以仿照工程模式中AutoAnswer的实现来完成,主要思路就是将是否打开自动接听的标示位存入SharedPreference中,然后来电时根据这个值来决定是否自动接听。

[SOLUTION]

Android 4.4之前版本:

工程模式中AutoAnswer.java界面,当有按下启动自动接听后,就将标示位保存在SharedPreference中,若是有来电,则在InCallScreen启动时,delay一定时间(默认是2s)去接听。相关代码在InCallScreen的mHandler中:

Android 4.4及之后版本:

工程模式中AutoAnswer.java界面,当有按下启动自动接听后,就将标示位保存在SharedPreference中,若是有来电,则在InCallActivity启动时,delay一定时间(默认是3s)去接听。相关代码在callNotifier.java的mHandler中:

Android 5.0及之后版本:

工程模式中AutoAnswer.java界面,当有按下启动自动接听后,就将标示位保存在SharedPreference中,若是有来电,则在InCallActivity启动时,delay一定时间(默认是3s)去接听。相关代码在CallsManager.java的mAutoAnswerHandler中:

Android 6.0及之后版本:

工程模式中AutoAnswer.java界面,当有按下启动自动接听后,就将标示位保存在SystemProperties中,若是有来电,则在InCallActivity启动时,delay一定时间(默认是5s)去接听。相关代码在AutoAnswerHelper.java的onIncomingCall()中:

上一篇下一篇

猜你喜欢

热点阅读