[英]Blackberry WebWorks SMS Listener Exception
规格:WebWorks 2.2,Curve 9330 OS 6模拟器和设备
我们会尝试几乎所有内容,但无法解决。 我的应用程序有一个主页(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。 几乎没有关于拥有背景页面的文档。 有人有什么想法吗? 提前致谢。
可能是Webworks会转到这些不同的页面并丢弃上一页中的所有内容吗? (就像您在浏览器中转到新页面时填写的表格会发生什么一样)
也许您需要利用应用程序事件来检查应用程序何时进入前台或后台; 也许仔细检查isListeningForMessage?
我在想类似的东西
function onFG()
{
if (!blackberry.message.sms.isListeningForMessage)
{
blackberry.message.sms.isListeningForMessage = true;
blackberry.message.sms.addReceiveListener(messageListener);
}
}
blackberry.app.event.onForeground(onFG);
如果需要使代码区分运行位置,则也可以使用isForeground布尔值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.