首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用addEventListner中的mozMobileMessage实现接收短信的B2G

使用addEventListner中的mozMobileMessage实现接收短信的B2G
EN

Stack Overflow用户
提问于 2013-08-20 17:29:33
回答 1查看 781关注 0票数 1

我一直在自学如何用AngularJS为Firefox编写大学作业的应用程序。这是我第一次尝试用JS编写应用程序。

该应用程序的目标是根据通过SMS发送的“命令”来运行命令(也称为“大声铃声”、“锁定设备”、“打开wifi”,并回复带有GPS位置的SMS命令)。目前,我只是尝试做一个简单的$window.alert('Messaged Received'),以显示时,一条短信已经收到。

我的问题是,我试图创建一个addEventListener来接收短信,并在目前,显示一个$window.alert()。稍后,我将使用一个case开关。

我已经参考了MDN API来创建事件侦听器。

代码语言:javascript
复制
var mozMM = navigator.mozMobileMessage;
mozMM.addEventListener('received', function addEventListener(evt) {
    // Display a alert when a message is received
    $window.alert('SMS received');
    $window.alert(evt.message.body);
}, false);

我的manifest.webapp已被设置为包括所有相关设置:

代码语言:javascript
复制
"type" : "certified",
"permissions": {
    "backgroundservice":{},
    "sms":{},
    ...
},
"messages": [
    { "sms-received": "/index.html" },
    { "notification": "/index.html" }
]

我可以发送短信从我的应用程序,没有任何问题。所以我想我的权限没有问题。我还确认我完全可以访问mozMobileMessage对象。

对于测试,我使用的Geekphone,它已经扎根,并可以安装认证的应用程序。

我已经将源代码上传到github:https://github.com/s3069246/findmydevice/tree/master/app

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-21 11:05:35

感谢谷歌组的人给了我正确的解决方案。我想我也会在这里分享。

问题是我使用了错误的事件处理程序。我应该使用系统消息处理程序而不是

代码语言:javascript
复制
navigator.mozSetMessageHandler('sms-received', function onSMS(sms) { 
    /* here your code */ 
}); 

结合清单中的"message": []处理程序,系统处理程序将通知应用程序已经收到消息,即使应用程序在后台运行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18341417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档