安卓 - 如何检测来电是否被重定向?

5

通过谷歌搜索,我成功获取了来电时的 incoming_number。但我仍然无法找到如何检测呼叫是否被转移(重定向)。

是否有一些标志或其他东西?

最好的问候, 伊万


你解决了吗? - Pratik Butani
1个回答

0

为了理解。

当呼叫在被接听之前被重定向到另一个号码时,称为“呼叫转移”。

转移的呼叫不携带任何数据。

据我所知,您实际上可以创建广播接收器。

public class CallBroadcastReceiver extends BroadcastReceiver
{
public static String numberToCall;
public void onReceive(Context context, Intent intent) {
    Log.d("CallRecorder", "CallBroadcastReceiver::onReceive got Intent: " + intent.toString());
    if (intent.getAction().equals(Intent.ACTION_NEW_OUTGOING_CALL)) {
        numberToCall = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
        Log.d("CallRecorder", "CallBroadcastReceiver intent has EXTRA_PHONE_NUMBER: " + numberToCall);
    }

}
}

由于您有传入号码,您实际上可以采取一个变通方法,确定将传入号码转发到哪里作为“传出呼叫”


这是针对ACTION_NEW_OUTGOING_CALL的意图,我的问题涉及到一个来电。 - Lucem
如果我们的手机接到电话,那么这个电话就是呼入电话。如果这个电话被转发或重定向,那么它就成为了呼出电话。考虑到这种行为,我们可以确定呼出电话。 - Abdul Ahad
我理解你的逻辑,但仍然不明白,让我现在测试一下代码。 - Lucem
我测试了你的代码,但它从未成功运行过。 - Lucem

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接