Java 获取方向是传入还是传出

Java 获取方向是传入还是传出,java,android,Java,Android,为了成为默认的手机应用程序,必须在清单中使用CALL\u phone权限实施InCallService以及meta data标记 到目前为止我所做的: Manifest.xml <uses-permission android:name="android.permission.CALL_PHONE" /> <service android:name=".InCallServiceImplementation" android:e

为了成为默认的手机应用程序,必须在清单中使用
CALL\u phone
权限实施
InCallService
以及
meta data
标记

到目前为止我所做的:

Manifest.xml

<uses-permission android:name="android.permission.CALL_PHONE" />

<service
            android:name=".InCallServiceImplementation"
            android:enabled="true"
            android:exported="true"
            android:permission="android.permission.BIND_INCALL_SERVICE">
            <meta-data
                android:name="android.telecom.IN_CALL_SERVICE_UI"
                android:value="true" />
            <meta-data
                android:name="android.telecom.IN_CALL_SERVICE_RINGING"
                android:value="true" />

            <intent-filter>
                <action android:name="android.telecom.InCallService" />
            </intent-filter>
 </service>
下面是我的OngoingCall.java类

    private Object callback = new Call.Callback() 
    {
        @Override
        public void onStateChanged(Call call, int newState) {
            super.onStateChanged(call, newState);
            state.onNext(newState);
        }
    };

    public final void setCall(@Nullable Call value) 
    {
        if (call != null) 
        {
            call.unregisterCallback((Call.Callback)callback);
        }

        if (value != null) 
        {
            value.registerCallback((Call.Callback)callback);
            state.onNext(value.getState());
        }

        call = value;
    }

    public void answer() 
    {
        assert call != null;
        call.answer(VideoProfile.STATE_AUDIO_ONLY);
    }

    public void hangup() 
    {
        assert call != null;
        call.disconnect();
    }
工作原理: 如果我从我的应用程序拨出或拨打电话,或者即使是从制造商的电话应用程序拨出,如果
if else
从功能
onCallAdded

那么问题出在哪里:

即使有来电,它仍会显示
DialerActivity
,显示传出呼叫正在进行屏幕。我有两种不同的活动来处理传入和传出呼叫

我想要的解决方案:

我怎样才能找到电话是传入的还是传出的,电话的方向。以便向用户展示适当的布局

学习或搜索需要付出哪些努力:

我总是觉得很难理解谷歌文档的意义是什么


在这里找到的,可以走的方向。我搜索了很多,然后再次找到了许多需要实现的东西。只是一些概述和一些不完整的样本,其中包含了大量的理论。我发现了,但它是在科特林开发的。同一个项目在名为的java中,尚未实现该方向。我也没有从谷歌文档中找到任何合适的分步指南。如果开发人员试图读取他们的示例程序,就会丢失许多变量和函数,读取这些变量和函数并花费大量时间进行研究是没有用的

如果呼叫状态为振铃:

if (call.getState() == Call.STATE_RINGING)
是来电

如果呼叫状态正在连接:

else if (call.getState() == Call.STATE_CONNECTING)

如果呼叫状态为振铃,则为传出呼叫

if (call.getState() == Call.STATE_RINGING)
是来电

如果呼叫状态正在连接:

else if (call.getState() == Call.STATE_CONNECTING)

这是一个拨出的电话

格式:1。每个链接在
[]
括号中应有不同的编号。2.所有链接引用通常放在所有常规文本之后的文件末尾。格式:1。每个链接在
[]
括号中应有不同的编号。2.所有链接引用通常放在所有常规文本之后的文件末尾。