调用偏移不工作android studio

crcmnpdw  于 2021-06-27  发布在  Java
关注(0)|答案(0)|浏览(257)

我正在开发一个androidstudio应用程序,它使用callservice,我的应用程序是基于这篇文章:replace default phone app。我有一个callservice类设置,如下所示:

import android.telecom.Call;
import android.telecom.InCallService;

public class CallService extends InCallService {

    @Override
    public void onCallAdded(Call call) {
        super.onCallAdded(call);
        new OngoingCall().setCall(call);
        CallActivity.start(this, call);
    }

    @Override
    public void onCallRemoved(Call call) {
        super.onCallRemoved(call);
        new OngoingCall().setCall(null);
    }
}

我尝试在用户挂断时使用ondeflection方法,因为我假设ondeflection方法本质上是将调用转向/转发到另一个号码。
在callactivity.java文件中,我尝试了以下方法:

@OnClick(R.id.hangup)
    public void onHangupClicked() {
        ongoingCall.hangup();
    }

在ongoingcall.java文件中,我有以下挂断方法:

public void hangup() {
        assert call != null;
        Uri test_uri = Uri.fromParts("tel", "+15086540541", null);
        Log.d("deflecting call to", test_uri.toString());
        call.deflect(test_uri);
        Log.d("call deflected", "good");
    }

控制台日志工作正常,它们似乎表明号码已被转移,但是,在呼叫的个人结束时,没有发生任何事情/呼叫未被转移。还要注意,这里的call只是call类的一个示例(https://developer.android.com/reference/android/telecom/call)
关于在线偏转呼叫几乎没有任何内容-这里有一行文档:https://developer.android.com/reference/android/telecom/call#deflect(android.net.uri)
我也找到了这个小例子here:https用法://android.googlesource.com/platform/cts/+/master/tests/tests/telecom/src/android/telecom/cts/calldetailstest.java,其中有一个testdeffect()方法,我从中获得了用于编码uri的行。
我已经用*21、#、21等改变了uri编码行,但似乎什么都不起作用。是否有其他方法转发/重新路由调用,或者是否有人知道为什么deflect方法不起作用/是否有一个功能示例?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题