Blackberry - setPayloadText не работает - PullRequest
1 голос
/ 13 мая 2011

Я пытаюсь использовать интерфейс TexTMessage для подготовки SMS перед вызовом invokeApplication, чтобы открыть приложение SMS с предварительно заполненным сообщением. Адрес (номер телефона) работает хорошо (он предварительно заполнен), но тело сообщения - нет. Действительно, кажется, что метод setPlayloadText не имеет никакого эффекта.

Вот мой код

messConn = (MessageConnection)Connector.open("sms://");
TextMessage sMess=(TextMessage)messConn.newMessage(MessageConnection.TEXT_MESSAGE);
sMess.setAddress("sms://123456789");
sMess.setPayloadText(new String("ahah")); //doesn't seem to work
Invoke.invokeApplication(Invoke.APP_TYPE_MESSAGES, new MessageArguments(sMess));

Спасибо за вашу помощь.

Винсент

1 Ответ

5 голосов
/ 13 мая 2011

Существует ошибка, которая препятствует заполнению текста в определенных версиях ОС.Вы можете обойти это, сохранив содержимое сообщения в буфере обмена, а затем вставив операцию вставки, подождав примерно секунду, пока приложение SMS не запустится.Немного хитроумно, но это единственное, что вы можете сделать в этой ситуации.

В качестве альтернативы, вы можете создать свой собственный экран отправки текста, который делает это для пользователя.Вы можете взглянуть на http://supportforums.blackberry.com/t5/Java-Development/Different-ways-to-send-SMS-messages/ta-p/445070, который дает инструкции о том, как программно отправить сообщение.Обратите внимание, что если вы делаете этот метод, вы должны использовать оба, один из которых является резервным методом, если первый не удался.

...