我们可以从InCallService或Telecom.Call获得呼叫详细信息,例如呼叫方号码和联系方式吗?

时间:2018-11-28 12:21:18

标签: android in-call

我实际上想覆盖默认呼叫屏幕并处理我活动中的所有内容。我面临的问题是如何获取呼叫者号码,以及它是否是从Telecom.Call对象存储在电话中的联系人,因为这是InCallService onCallAdded方法中唯一可用的对象。

谢谢您的帮助。

seq 1 `wc -l FILE | awk '{print $1}'` | xargs -IX sed -i 'X s/LINE/X/' FILE

这是接受和拒绝呼叫的活动。现在,屏幕上仅显示2个用于接受和拒绝呼叫的按钮,并且工作正常,我也需要在屏幕上显示联系方式。

public MyConnectionService() {
}

@Override
public void onCallAdded(Call call) {
    super.onCallAdded(call);
    Log.d("Call","new call Added");
    CallActivity.call=call;
    startActivity(new Intent(this,CallActivity.class));
}

@Override
public void onCallRemoved(Call call) {
    super.onCallRemoved(call);
    Log.d("Call","Call Removed");
}

1 个答案:

答案 0 :(得分:0)

您有两个选择。

  1. 要求用户将您的应用程序设置为默认的Phone应用程序(基本上,您的应用程序将是您需要实施的新InCallService / InCallUI),请参见:{{3 }}

  2. 实施PhoneStateListener以检测电话状态变化(空闲/响铃/摘机),并在适当的情况下在默认InCallUI上方显示您的UI,请参见:https://developer.android.com/reference/android/telecom/InCallServicehttps://developer.android.com/reference/android/telephony/PhoneStateListener