语音电话呼叫状态拒绝时没有监听器

时间:2017-02-21 11:41:01

标签: android sinch

我使用app来打电话,当用户执行电话时,一切都很好,从通话开始直到通话结束,但当另一个用户拒绝电话时,第一个用户的听众没有返回任何内容,是否有关于此的任何线索/信息,真的很感激任何事情来说清楚。

1 个答案:

答案 0 :(得分:0)

为此你需要创建一个接收你的呼叫状态的BroadcastReceiver,并使用它来实现你的另一个逻辑。

这是呼叫接收器的演示:

公共类IncomingCallReceiver扩展了BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    if (TelephonyManager.EXTRA_STATE_RINGING.equals(intent.getStringExtra(TelephonyManager.EXTRA_STATE))){
        Log.d("mytag","call ringing");

        String incomingNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);

// Toast.makeText(context,incomingNumber,Toast.LENGTH_LONG).show();

    }

    if (TelephonyManager.EXTRA_STATE_IDLE.equals(intent.getStringExtra(TelephonyManager.EXTRA_STATE))){

String incomingNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);

Toast.makeText(context,“Call Ended。”,Toast.LENGTH_LONG).show();

    }

}

}

在清单文件中添加以下内容:

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

    <receiver
        android:name=".phonemidea.IncomingCallReceiver"
        android:enabled="true">
        <intent-filter>
            <action android:name="android.intent.action.PHONE_STATE" />
            <action android:name="android.provider.Telephony.SMS_RECEIVED" />
        </intent-filter>
    </receiver>