FAQ02963]如何拦截来电,即在电话ring之前就有机会检查来电号码?

[Android Version]

Android V2.3 (GB,GB2,GB3)

Android V4.0, 4.1,4.2(ICS,ICS2,JB,JB2,JB3,JB5)

Android V4.4及之后版本

[DESCRIPTION]

在电话ring之前检查来电号码。

[SOLUTION]

 

**L0及L1

在frameworks\opt\telephony\src\java\com\android\internal\telephony\gsm\GsmCallTrackerHelper.java文件的方法CallIndicationProcess 里做Phone number的检查,如果需要拦截,将方法里mode处理为1即可。

 

**L之前的版本

 

第一种方法:

可以在CallNotifier.java的onNewRingingConnection中拦截。
根据需要从    
Connection c = (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())

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值