Blackberry SendListener被多次调用
我的应用程序中有以下代码,在发送短信时监听并增加计数器Blackberry SendListener被多次调用,blackberry,java-me,sms,listener,Blackberry,Java Me,Sms,Listener,我的应用程序中有以下代码,在发送短信时监听并增加计数器 SendListener smsListener = new net.rim.blackberry.api.sms.SendListener() { public boolean sendMessage(Message message) { ++smsCount; return true; } }; 但是,由于某些原因,当仅发送一条sms时(
SendListener smsListener = new net.rim.blackberry.api.sms.SendListener() {
public boolean sendMessage(Message message) {
++smsCount;
return true;
}
};
但是,由于某些原因,当仅发送一条sms时(即使sms消息很短),会多次调用sendMessage
方法(通常为3次)
为什么会这样?有解决这个问题的方法吗?我在bb开发论坛上没有发现关于这个问题的提及。正如Emmanuel所建议的,您可能会多次注册listener。请查看此线程:
是否可能多次添加了侦听器。您有三个侦听器实例。我不认为我检查过的是这种情况,我只有一个,而且它仍然被多次调用检查消息的实际长度。一些字符编码减少了SMS的最大长度,因此原始消息必须分段,并且每个部分都作为一条消息发送。非常感谢,这实际上帮助了很多。我使用一个运行时对象作为标志,以确保我不会多次添加侦听器。我希望这些文件能像这张表格一样详细。文档实际上说,如果listener对象已经存在,则不会再次添加,因此我认为这不是多次添加的情况。