【CTA认证】Android CTA认证禁用呼叫等待及三方通话功能

本文介绍了如何在Android 8.1.0中禁用呼叫等待和三方通话功能以符合CTA测试要求。具体包括修改BlockChecker.java以阻止第三方来电显示,禁用来电转接和来电等待的UI界面,以及调整相关XML配置文件。禁用后,当有第三方来电时,系统将直接拒接,同时无法在两个通话之间切换。
摘要由CSDN通过智能技术生成

呼叫等待,三方通话功能

Android 8.1.0
正常会测一个功能三方通话
1.测试机与配合机A已经建立通话;
2.第三方B向测试机发起通话;
3. 不挂断情况,测试机要能任意切换与二方中的一方通话,另一方等待。
实测安卓8的测试机,接听第三方后在不挂断第三方情况下无法切换回配合机A的通话。导致无法通过CTA测试。

SDK中禁用三方通话功能

需要禁用呼叫等待UI, 比如已经在通话中,第三方打来,测试机将不弹出有第三方来电的提醒,而是直接拒接。

修改frameworks/opt/telephony/src/java/com/android/internal/telephony/BlockChecker.java

diff --git a/opt/telephony/src/java/com/android/internal/telephony/BlockChecker.java b/opt/telephony/src/java/com/android/internal/telephony/BlockChecker.java
index 2b5a349a..a69a4594 100644
--- a/opt/telephony/src/java/com/android/internal/telephony/BlockChecker.java
+++ b/opt/telephony/src/java/com/android/internal/telephony/BlockChecker.java
@@ -3,7 +3,9 @@ package com.android.internal.telephony;
 import android.content.Context;
 import android.provider.BlockedNumberContract;
 import android.telephony.Rlog;
+import android.util.Log;
 import android.telephony.TelephonyManagerEx;
+import android.telephony.TelephonyManager;
 import com.android.internal.telephony.plugin.BlockInboundSmsHandlerUtils;
 
 /**
@@ -28,6 +30,13 @@ public class BlockChecker {
         boolean isCallBlock;
         boolean isSmsBlock;
         TelephonyManagerEx tmEx = TelephonyManagerEx.from(context);
+        TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
+        Log.d(TAG, "call state:" + telephonyManager.getCallState());
+        if(TelephonyManager.CALL_STATE_OFFHOOK==telephonyManager.getCallState()||TelephonyManager.CALL_STATE_RINGING==telephonyManager.getCallState()) {
+            isCallBlock = true;
+            Log.d(TAG, "is calling, block new call");
+            return true;
+        }

还需要去掉来电转接,来电等待功能界面

界面位置
点击“电话”–右上角设置–通话帐号–来电转接
点击“电话”–右上角设置–通话帐号–其他设置–来电等待

find ./ -name “*.xml” | xargs grep “来电等待”

./packages/apps/Settings/res/values-zh-rCN/strings.xml:    <string name="call_settings_summary" msgid="7291195704801002886">"设置语音信箱、来电转接、来电等待和本机号码显示"</string>
./packages/services/Telephony/res/values-zh-rCN/strings.xml:    <string name="labelCW" msgid="6120513814915920200">"来电等待"</string>
./frameworks/base/core/res/res/values-zh-rCN/strings.xml:    <string name="CwMmi" msgid="9129678056795016867">"来电等待"</string>

find ./ -name “*.xml” | xargs grep “来电转接”

./vendor/sprd/platform/packages/apps/CallSettings/res/values-zh-rCN/strings.xml:    <string name="labelAudioCF">"语音来电转接"</string
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值