如何拦截来电,即在电话ring之前就有机会检查来电号码
时间:10-02
整理:3721RD
点击:
[android Version]
Android V2.3 (GB,GB2,GB3)
Android V4.0, 4.1,4.2(ICS,ICS2,JB,JB2,JB3,JB5)
[DESCRIPTION]
在电话ring之前检查来电号码。
[SOLUTION]
适用GB,GB2,ICS,ICS2,JB,JB2,GB3,JB3,JB5:
第一种方法:
可以在CallNotifier.java的onNewRingingConnection中拦截。
该类所在的路径为:
alps\packages\apps\Phone\src\com\android\phone\CallNotifier.java
根据需要从
Connectionc=(Connection)r.result;
中来电连接中分析来电数据,从而判定是否要拦截。
第二种方法:
GSMCallTraker.java下的
handleIncomingCallIndication函数中,获取EAIC上报时的number;
如果需要在此处拦截,将incoming call hangup,需要使得Modem不上报之后的ring,否则会
导致电话挂断时,界面仍然有incoming call的情况;
可以用如下方法,来使得在收到EAIC上报时,hangup incoming call后,modem不再上报ring
:
在hangup前,调用cm.setCallIndication(1, callId, seqNumber,
obtainCompleteMessage());
Android V2.3 (GB,GB2,GB3)
Android V4.0, 4.1,4.2(ICS,ICS2,JB,JB2,JB3,JB5)
[DESCRIPTION]
在电话ring之前检查来电号码。
[SOLUTION]
适用GB,GB2,ICS,ICS2,JB,JB2,GB3,JB3,JB5:
第一种方法:
可以在CallNotifier.java的onNewRingingConnection中拦截。
该类所在的路径为:
alps\packages\apps\Phone\src\com\android\phone\CallNotifier.java
根据需要从
Connectionc=(Connection)r.result;
中来电连接中分析来电数据,从而判定是否要拦截。
第二种方法:
GSMCallTraker.java下的
handleIncomingCallIndication函数中,获取EAIC上报时的number;
如果需要在此处拦截,将incoming call hangup,需要使得Modem不上报之后的ring,否则会
导致电话挂断时,界面仍然有incoming call的情况;
可以用如下方法,来使得在收到EAIC上报时,hangup incoming call后,modem不再上报ring
:
在hangup前,调用cm.setCallIndication(1, callId, seqNumber,
obtainCompleteMessage());
帮顶 支持一下
学习学习