androidussd

Calling a USSD number without opening the phone app in Android


I am trying to call a USSD number from my application like this:

Uri u = Uri.fromParts("tel", "*110#", "");
Intent i = new Intent(Intent.ACTION_CALL, u);
startActivity(i);

This makes the phone app launch and call the number.

What I want is to call the USSD number without opening the phone app or atlease open it up in the background.

If the user is doing something, then he should not be disturbed. Only a notification must be generated.

any suggestions?


Solution

  • it is possible now since android O(api 26) with sendUssdRequest() check the docs https://developer.android.com/reference/android/telephony/TelephonyManager.html#sendUssdRequest(java.lang.String,%20android.telephony.TelephonyManager.UssdResponseCallback,%20android.os.Handler)