我试图通过webworks在BB10中使用短信服务。但我总是收到错误“无法读取未定义的属性'短信”。我使用的代码是:
Javascript:
blackberry.message.sms.send('hello world', '9999999999');
配置文件:
<feature id="blackberry.message.sms" />
有没有办法使用短信服务?
答案 0 :(得分:1)
编辑:我的不好..还有SMS API。通常,如果您收到错误,说明黑莓未定义,并且它是可用的API,这将帮助您排除故障.. :))
-
看起来'blackberry'命名空间未定义?您是否正确加载webworks.js文件,并在尝试访问API之前等待它已初始化?
您可以在应用的索引html文件中包含webworks.js文件。
<script src="local:///chrome/webworks.js" type="text/javascript"></script>
此外,您需要在“webworksready”事件触发后触发与此类似的内容(也在索引中)
<script type="text/javascript">
document.addEventListener("webworksready", function(){
// webworks is now ready, do cool stuff here
});
</script>
另外,如果您愿意,请查看我们的入门材料:http://developer.blackberry.com/html5/documentation/getting_started_with_bb10_ww_sdk_2007056_11.html
答案 1 :(得分:0)
目前BB10上的网络广告没有短信扩展
答案 2 :(得分:0)
添加:
<feature id="blackberry.invoke" required="true" version="1.0.0.0"/>
<feature id="blackberry.invoke.card" />
然后在脚本文件中使用此调用函数:
doSMSinvokation = function(ppsEncode) {
blackberry.invoke.invoke({
target: "sys.pim.text_messaging.composer",
action: "bb.action.COMPOSE",
data: ppsEncode({"to":["55555"], "body":"body of SMS", "send":"false"})},
function(successEvt) {
alert("Success");
},
function(errorEvt) {
alert("error");
}
);
var ppsEncode = function(obj) {
var data = '', name, value;
for (name in obj) {
data += name + ':';
value = obj[name];
if (typeof value === 'string') {
data += ':' + value;
}
else if (typeof value === 'number') {
data += 'n:' + value;
}
else if (typeof value === 'boolean') {
data += 'b:' + value;
}
else if (typeof value === 'object') {
data += 'json:' + JSON.stringify(value);
}
data += '\n';
}
return data;
}
doSMSinvokation(ppsEncode);
我对Blackberry本身的反对