Autore Topic: problema invio sms ics, invio due volte sms con funzione sendTextMessage  (Letto 1365 volte)

Offline mok

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S II
  • Sistema operativo:
    Windows 7
Salve a tutti developers, ho riscontrato un problema sull'invio di sms da un terminale che ha ics.
Come da titolo la funzione di invio sendTextMessage di SmsManager invia due volte lo stesso messaggio.
Sapete come risolvere il problema?

Ps. ho dedotto che è un problema proprio di ics poiché non ho trovato sul web nessuno che lamentava questo problema in versioni precedenti ad esso.

codice:
Codice (Java): [Seleziona]
SmsManager sms=SmsManager.getDefault();
sms.sendTextMessage(originatingAddress, null, textMessage, null, null);
con questa funzione, appunto, al numero originatingAddress arrivano due sms uguali, con testo ovviamente definito dalla variabile textMessage.

Altra nota:
avendo fatto un pò di debug dell'applicazione ho notato che la funzione sendTextMessage viene chiamata una volta soltanto.(come giusto che sia)

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:problema invio sms ics, invio due volte sms con funzione sendTextMessage
« Risposta #1 il: 11 Giugno 2012, 18:29:57 CEST »
0
io avevo il problema al contrario mi riceveva due volte lo stesso messaggio, penso che sia un problema della gestione delle "cartelle" dove salva i messaggi(nel tuo caso inviati e nel mio caso ricevuti). Se qualcuno risponderà a te sicuramente potrebbe interessare anche a me:)

Offline mok

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S II
  • Sistema operativo:
    Windows 7
Re:problema invio sms ics, invio due volte sms con funzione sendTextMessage
« Risposta #2 il: 12 Giugno 2012, 11:18:11 CEST »
0
no, non credo che sia questo il problema...secondo me è un pò differente.
Dal telefono vengono mandati due sms.
Purtroppo lo posso dire con certezza avendo fatto questa prova :
uso la promozione dei 4000 sms e se esegui un certo codice (*123*3#) ti dice quanti sms ti rimangono da poter inviare,
l'ho fatto prima e dopo aver eseguito la funzione e ho visto che ha detratto 2 sms :(

Offline mok

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S II
  • Sistema operativo:
    Windows 7
Re:problema invio sms ics, invio due volte sms con funzione sendTextMessage
« Risposta #3 il: 13 Giugno 2012, 17:40:59 CEST »
0
RISOLTO!!!! a quanto pare è un bug di ICS...
si risolve con questa bella funzioncina :)
Codice (Java): [Seleziona]
void sendMessageICS(String number, String msg) throws Exception {
        SmsManager m = SmsManager.getDefault();

        Class aclass[] = new Class[9];
        aclass[0] = String.class;
        aclass[1] = String.class;
        aclass[2] = ArrayList.class;
        aclass[3] = ArrayList.class;
        aclass[4] = ArrayList.class;
        aclass[5] = Boolean.TYPE;
        aclass[6] = Integer.TYPE;
        aclass[7] = Integer.TYPE;
        aclass[8] = Integer.TYPE;
        Method method = m.getClass().getMethod("sendMultipartTextMessage", aclass);
        Object aobj[] = new Object[9];
        aobj[0] = number;
        aobj[1] = null;
        aobj[2] = m.divideMessage(msg);
        aobj[3] = null;
        aobj[4] = null;
        aobj[5] = Boolean.valueOf(false);
        aobj[6] = Integer.valueOf(0);
        aobj[7] = Integer.valueOf(0);
        aobj[8] = Integer.valueOf(0);
        method.invoke(m, aobj);
    }
;-)