文章目录
呼叫等待,三方通话功能
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>
./vendor/sprd/platform/packages/apps/CallSettings/res/values-zh-rCN/strings.xml: