Перейти к содержанию
Fire Monkey от А до Я

Simons Cat

Пользователи
  • Постов

    2
  • Зарегистрирован

  • Посещение

Достижения Simons Cat

  1. У меня среда программирования 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(); }
×
×
  • Создать...