Я пытаюсь набрать USSD-код для IMEI из моего приложения для Android , минуя стандартную программу-андроид и пытаясь получить ответ из него, разбери его и используй дальше.
Я хочу получить информацию, возвращенную из кода ussd в обратном вызове, и использовать ее далее.
Я пробовал следующие вещи:
1. Аналитические услуги
2. приведенный ниже код -
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
Handler handler = new Handler();
TelephonyManager.UssdResponseCallback responseCallback = new TelephonyManager.UssdResponseCallback() {
@Override
public void onReceiveUssdResponse(TelephonyManager telephonyManager, String request, CharSequence response) {
super.onReceiveUssdResponse(telephonyManager, request, response);
Toast.makeText(MainActivity.this, response.toString(), Toast.LENGTH_SHORT).show();
}
@Override
public void onReceiveUssdResponseFailed(TelephonyManager telephonyManager, String request, int failureCode) {
super.onReceiveUssdResponseFailed(telephonyManager, request, failureCode);
Toast.makeText(MainActivity.this, String.valueOf(failureCode), Toast.LENGTH_SHORT).show();
}
};
telephonyManager.sendUssdRequest("*#06#", responseCallback, handler);
Возникли проблемы:
1. Не умеет запускать USSD коды.
2. Обратный вызов всегда сбой.
Что можно сделать для достижения этой цели?