Autor Téma: Android - Odoslanie SMS - zistenie stavu  (Přečteno 572 krát)

Offline dee

  • Plnoletý
  • ***
  • Příspěvků: 116
  • Karma: 0
    • Verze Delphi: D7, XE7
Android - Odoslanie SMS - zistenie stavu
« kdy: 07-10-2016, 10:07:59 »
zdar,

moja fmx android aplikacia umoznuje odoslat SMS spravu vyuzivam na to tuto funkcionalitu

Kód: [Vybrat]
var
  destAdress: JString;
  smsManager: JSmsManager;
begin
  smsManager := TJSmsManager.JavaClass.getDefault;
  destAdress := StringToJString('0918123123');
  smsManager.sendTextMessage(destAdress, nil, StringToJString('text spravy'), nil, nil);
end;

kod funguje ak je vsetko OK sprava sa odosle, bolo by vsak vhodne zistit cinedoslo priodosielani spravy k chybe napriklad neplatne tel cislo, telefon bez signalu, atd ...

V dokumentacii k smsManager sa mozeme docitat o chybovych kodoch ktore by mali riesit moj problem
https://developer.android.com/reference/android/telephony/gsm/SmsManager.html

ale ako ten chybovy kod s toho vytiahnem - konkretne funkcia smsManager.sendTextMessage nevracia ziadnu hodnotu - je typu void

dakujem za rady  ;)





Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1080
  • Karma: 36
    • Verze Delphi: 7, 2010
Re:Android - Odoslanie SMS - zistenie stavu
« Odpověď #1 kdy: 07-10-2016, 10:18:23 »
Krom toho, že se tám píše deprecated, budeš asi chtít využít jeden z těch nilů - přesněji ten předposlední "sentIntent".
Návratová hodnota není vrácena přímo, ale zaregistruješ se do fronty zpráv a až bude znám výsledek, systém zavolá tvoji proceduru.

Offline dee

  • Plnoletý
  • ***
  • Příspěvků: 116
  • Karma: 0
    • Verze Delphi: D7, XE7
Re:Android - Odoslanie SMS - zistenie stavu
« Odpověď #2 kdy: 07-10-2016, 10:56:16 »
aka je teda nedeprecated nahrada ?

pripadne ako vyuzit ten sentIdent, ono mi to nieje uplne jasne z tej dokumentacie  :-[


Offline < z >

  • Administrátoři
  • Guru
  • *****
  • Příspěvků: 1080
  • Karma: 36
    • Verze Delphi: 7, 2010
Re:Android - Odoslanie SMS - zistenie stavu
« Odpověď #3 kdy: 07-10-2016, 11:29:10 »
Má se používat bez toho "gsm", ale to stejně asi neovlivníš, protože o tohle se starají Delphi.
https://developer.android.com/reference/android/telephony/SmsManager.html

Ty hledáš jen "Broadcast Receiver"
http://stackoverflow.com/questions/19463601/delphi-xe5-how-send-sms-with-delivery-notification-in-android
http://stackoverflow.com/questions/18891486/broadcast-receivers-in-delphi-xe5-android?rq=1
https://github.com/barisatalay/delphi-android-broadcast-receiver-component
jak je zde naznačeno, Delphi (dříve) neměly nic takového (já s tím nemám zkušenosti, tak nevím, jestli už je tam nějaká výchozí implementace, nebo musíš využít jiné řešení)

 

S rychlou odpovědí můžete používat BB kódy a emotikony jako v běžném okně pro odpověď, ale daleko rychleji.

Upozornění: do tohoto tématu bylo naposledy přispěno před 120 dny.
Zvažte prosím založení nového tématu.

Jméno: E-mail:
Ověření:
Kolik je šest plus čtyři (slovem):