-
Постов
2 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Simons Cat
-
-
У меня среда программирования rad studio Delphi 10.4.2. Собственно ищу совета как отправить и получить ответ на запрос USSD.
Нашел в интернете единственный пример более или менее который похож на правду.
Привел его к виду нормальному виду, но не хватает знаний как передать функцию CallBack.procedure TForm7.Button6Click(Sender: TObject); var Temp:Jstring; ResponceCallBack: JTelephonyManager_UssdResponseCallback; handler: JHandler; begin TM :=TJTelephonyManager.Create; handler := TJHandler.Create; ResponceCallBack := TJTelephonyManager_UssdResponseCallback.Wrap( TAndroidHelper.Context.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE)); TM.sendUssdRequest(StringToJString('*100#'), ResponceCallBack,handler); end;
На java делается вот так. Не знаю как этот код переделать в delphi.
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(); }
Отправить запрос и получить ответ USSD
в Использование Android API
Опубликовано
Ответ так и не был найден. Помогите очень надо!