Почему я не могу отправить сообщение MessageConnection с группового адреса Blackberry?

Я пытаюсь отправить много смс-текстов одновременно, он отлично работает, когда я извлекаю номера из самих контактов, но когда я получаю их из группы, я получаю исключение IllegalArgumentException, в котором говорится: «Неверный адрес назначения: конечные символы: ", а затем номер получателя.

Я получаю номера из контактов так:

private void addContactGroup(BlackBerryContactGroup group) {
    BlackBerryContact contact;
    for(int i=0;i<group.numContacts();i++) {
        _cntctsNmbrs.addElement(group.getAddress(i).trim());
    }
}

И тогда я отправляю сообщение:

try {               
    _conn = (MessageConnection)Connector.open("sms://");
    final TextMessage msgOut = (TextMessage)
    _conn.newMessage(MessageConnection.TEXT_MESSAGE,
        "sms://"+_cntctsNmbrs.elementAt(i)+":0");
msgOut.setPayloadText(frmtdMsg);
_conn.send(msgOut);
} catch (final Exception e) {}

Все облазил, нигде не нашел этой ошибки.


person Michoel    schedule 18.02.2011    source источник
comment
Всегда ли getAddress возвращает номер телефона? Что делать, если контакт представляет собой адрес электронной почты или PIN-код? Вы не проверяете тип контакта...   -  person Eric Giguere    schedule 18.02.2011
comment
Я упростил код только для того, чтобы протестировать его только с номерами, и во всех группах, с которыми я его тестировал, вводились только телефонные номера.   -  person Michoel    schedule 18.02.2011


Ответы (1)


оказывается, что некоторые ромы добавляют невидимые управляющие символы в строки адресов группы, я просто вызывал stringbuf.deleteCharAt(0) для каждого адреса и все получилось

person Michoel    schedule 21.02.2011