黑莓 - setPayloadText不起作用

时间:2011-05-13 12:41:08

标签: blackberry sms invoke

我正在尝试使用TexTMessage接口在调用invokeApplication之前准备SMS,以便使用预填充消息打开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 个答案:

答案 0 :(得分:5)

有一个错误会阻止在某些操作系统版本中填充文本正文。您可以通过将消息内容存储到剪贴板,然后在等待一秒钟左右的SMS应用程序出现之后注入粘贴操作来绕过它。有点狡猾,但这是你在这个场景中唯一可以做的事情。

或者,您可以创建自己的发送文本屏幕,为用户执行此操作。您可以查看http://supportforums.blackberry.com/t5/Java-Development/Different-ways-to-send-SMS-messages/ta-p/445070,其中提供了有关如何以编程方式发送消息的说明。请注意,如果执行此方法,则应使用两者,如果第一个失败,则应使用一个回退方法。