Obecná diskuze o vývojiOdesílání SMS "několik v krátkém čase"

Moderátoři: mArtinko5MB, mArtinko5MB

Odpovědět
Uživatelský avatar
mka
Robot
Příspěvky: 1206
Registrován: pát 29. dub 2011 10:55:05
Typ mobilu / ROM: kde co
Kontaktovat uživatele:

Odesílání SMS "několik v krátkém čase"

Příspěvek od mka »

Zdravím, přátelé,

narazil, jsem na problém s odesíláním SMS. Používám "normálně"

Kód: Vybrat vše

smsManager.sendMultipartTextMessage(phoneNumber, null, parts, sentIntents, dlvrIntents);
a všechno taky "normálně" funguje až do chvíle, kdy se mi sejde více požadavků na odeslání SMS v "krátkém čase po sobě". To se pak stane to, že některé (minimálně první) se řádně odešlou (odešle) a ostatní skončí s RESULT_ERROR_GENERIC_FAILURE.
A já netuším proč.
Pokud třeba zkusmo nastavím nějakou "sakra velkou" prodlevu mezi jednotlivými SMS, tak to projde OK. Ale to zjevně není dobrá cesta.
Netušíte někdo, na co všechno je třeba po odeslání jedné SMS počkat, abych mohl začít odesílat další? Nějak k tomu nikde ne a ne nic najít (možná se blbě ptám) a už se v tom asi nějak začínám ztrácet...

Díky za radu či alespoň nakopnutí správným směrem.

Pro pořádek ještě dodávám, že se rozhodně nejedná o žádný "chrlič sms", který by pravidelně otravoval všechny uložené kontakty fiktivní zprávou od "blondýny u silnice" nebo něco podobného.
Nepište mi PM, pokud to není vyloženě soukromé.
Nevěřte kdejaké hlouposti, byť by byla předkládána jako svatá pravda nejsvětější.
Uživatelský avatar
aldabubo
Moderátor
Příspěvky: 2430
Registrován: ned 05. pro 2010 20:47:24
Typ mobilu / ROM: OnePlus 7 PRO
Mobil 2 / ROM: Ulefone Power3, Samsung GalaxyNote3a4, Xiaomi Mi9T
Tablet: Huawei MediPad M5 10.8
Bydliště: Brno
Kontaktovat uživatele:

Re: Odesílání SMS "několik v krátkém čase"

Příspěvek od aldabubo »

A co že to vlastně používáš? Když to dáš do tagu code, t
Ak z toho nikdo moc nevyčte, zvláště na mobilu v tapatalku.
Čtení o základech Androidu, nastavení telefonu, kontaktů, zvonění atd. Hledej zde: Android Expert
martinflorek
Androiďák!
Příspěvky: 481
Registrován: ned 05. čer 2011 7:04:44

Re: Odesílání SMS "několik v krátkém čase"

Příspěvek od martinflorek »

asi si narazil na systemove nastavenie ktore umoznuje limitovat rychle odosielanie SMS pre aplikacie tretich stran.
Uživatelský avatar
mka
Robot
Příspěvky: 1206
Registrován: pát 29. dub 2011 10:55:05
Typ mobilu / ROM: kde co
Kontaktovat uživatele:

Re: Odesílání SMS "několik v krátkém čase"

Příspěvek od mka »

aldabubo:
smsManager.sendMultipartTextMessage(phoneNumber, null, parts, sentIntents, dlvrIntents);

martinflorek:
Drobný pokrok - zjistil jsem, že pokud si hezky počkám, až jsou vyřízeny všechny pendingIntet té odeslané sms (tedy v případě SMS "na tři části" dojde třikrát k volání onReceive příslušných "send receiverů", tak pak můžu poslat další. Tedy, moc se mi to nelíbí, ale co... :-)
Nepište mi PM, pokud to není vyloženě soukromé.
Nevěřte kdejaké hlouposti, byť by byla předkládána jako svatá pravda nejsvětější.
Uživatelský avatar
mka
Robot
Příspěvky: 1206
Registrován: pát 29. dub 2011 10:55:05
Typ mobilu / ROM: kde co
Kontaktovat uživatele:

Re: Odesílání SMS "několik v krátkém čase"

Příspěvek od mka »

Zdravím,

tak jsem na to, zdá se, přišel. Takže kdyby se to někomu hodilo...:
Je třeba si počkat, až se "spustí" onReceive() s intentem, který má v extras klíč EXTRA_MESSAGE_SENT_SEND_NEXT ("SendNextMsg") s hodnotou true. Teprve pak je možné "bezpečně" odeslat další SMS.
Ale že by to bylo někde řádně zdokumentované, to tedy netuším - já jsem to nenašel.

Doplnění:

Parametr s klíčem "SendNextMsg" bývá v extras "jak kdy" - zřejmě pouze v případě "vícedílných" sms; stejnou roli zjevně plní i "LastSentMsg".
Nepište mi PM, pokud to není vyloženě soukromé.
Nevěřte kdejaké hlouposti, byť by byla předkládána jako svatá pravda nejsvětější.
Odpovědět

Zpět na „Obecná diskuze o vývoji“