interactive ussd session(multi step) does not work on android 8(Oreo) : <p>I am currently working with Telephony Manager(USSD response) available in android api level 26(Nexus 6P). For single step ussd session, it's working.</p>

<p>reference:
<a href="http://codedrago.com/q/140674/android-telephony-telephonymanager-ussd-android-8-0-oreo-does-android-8-0-api-26-support-sending-and-repying-to-ussd-messages" rel="noreferrer">http://codedrago.com/q/140674/android-telephony-telephonymanager-ussd-android-8-0-oreo-does-android-8-0-api-26-support-sending-and-repying-to-ussd-messages</a></p>

<p>example:</p>

<p>USSD request : "A"        (ussd session initiates)</p>

<p>USSD response : "X"       (ussd session terminates)</p>

<pre><code>    TelephonyManager =  telephonyManager(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
    Handler handler = new Handler();
    TelephonyManager.UssdResponseCallback callback = new TelephonyManager.UssdResponseCallback() {
        @Override
        public void onReceiveUssdResponse(TelephonyManager telephonyManager, String request, CharSequence response) {
            super.onReceiveUssdResponse(telephonyManager, request, response);
            Log.e("ussd",response.toString());

        }

        @Override
        public void onReceiveUssdResponseFailed(TelephonyManager telephonyManager, String request, int failureCode) {
            super.onReceiveUssdResponseFailed(telephonyManager, request, failureCode);
            Log.e("ussd","failed with code " + Integer.toString(failureCode));
        }
    };

    try {
           Log.e("ussd","trying to send ussd request");
           telephonyManager.sendUssdRequest("*123#",
                    callback,
                    handler);
        }catch (Exception e){


            String msg= e.getMessage();
            Log.e("DEBUG",e.toString());
            e.printStackTrace();
        }
</code></pre>

<p>but for interactive ussd request-response(multi-step), it's not working. 
 Multi step scenario is as follows:</p>

<p>step # 1. </p>

<p>USSD request : "A"        (ussd session initiates)</p>

<p>USSD response : "X"</p>

<p>step # 2.</p>

<p>USSD request : "B"        (ussd session continues) </p>

<p>USSD response : "Y"</p>

<p>step # 3.</p>

<p>USSD request : "C"      </p>

<p>USSD response : "Z"     (ussd session terminates)</p>
