2012-01-19 49 views
0

规格: 的WebWorks 2.2,曲线9330 OS 6模拟器和设备黑莓WebWorks的短信监听器异常

我们,我已经试过刚才的一切,我不明白这一点。我的应用程序有一个主网页(index.html的)和背景页面(listener.html),按指定的位置:

<?xml version="1.0" encoding="UTF-8"?> 
<widget xmlns="http://www.w3.org/ns/widgets" 
    xmlns:rim="http://www.blackberry.com/ns/widgets" 
    version="1.0.0.0" rim:header="SimpleSMS"> 
    <name>SimpleSMS</name> 
    <description>Simple SMS</description> 
    <content src="index.html"> 
     <rim:background src="listener.html" runOnStartup="true" /> 
    </content> 
    <rim:navigation mode="focus" /> 
    <access subdomains="false" uri="http://jsconsole.com"/> 
    <feature id="blackberry.message.sms" /> 
    <feature id="blackberry.app" /> 
    <feature id="blackberry.io.dir" /> 
    <feature id="blackberry.io.file" /> 
    <feature id="blackberry.utils" /> 
</widget> 

的listener.html看起来是这样的:

<!DOCTYPE html> 
<html> 
    <head> 
    <script type="text/javascript" src="message_db2.js"></script> 
    <script type="text/javascript"> 
    </script> 
    </head> 
    <body onload="initializeListener();"> 
    </body> 
</html> 

的initializeListener( )功能如下:

function initializeListener() { 
    blackberry.message.sms.isListeningForMessage = true; 
    blackberry.message.sms.addReceiveListener(messageListener); 
} 

问题: 当我安装我的应用程序,与听者开始运行,我的应用程序可以毫无问题接收短信。只要我打开主应用程序,就会出现问题。如果我只是使用后退或结束按钮将应用程序最小化到后台,接收到的下一个短消息会导致异常。如果我通过菜单关闭应用程序,则没有例外,但监听程序停止运行。我已经评论messageListener和index.html中的所有代码完全不会显示一些html。几乎没有关于建立背景页面的文档。有没有人有任何想法?提前致谢。

+0

你好,你是否能够使用WebWorks 2.2在黑莓上收听并阅读短信?如果是,你想不久之后解释一下?提前致谢。 –

回答

0

是不是webworks会转到这些不同的页面并丢弃前一页中的所有内容? (什么样的事情发生在填写表单了,当你去一个新的页面在浏览器中)

也许你需要利用Application Events检查时,应用程序进入到前景或背景;也许双重检查isListeningForMessage?

我想的有点像

function onFG() 
{ 
    if (!blackberry.message.sms.isListeningForMessage) 
    { 
    blackberry.message.sms.isListeningForMessage = true; 
    blackberry.message.sms.addReceiveListener(messageListener); 
    } 
} 

blackberry.app.event.onForeground(onFG); 

您还可以使用isForeground布尔的,如果你需要在你的代码区分它正在运行。