Phonegap Android回调获取令牌

时间:2012-12-02 12:34:04

标签: javascript android cordova push-notification

我正在使用pushwoosh phonegap示例,它运行正常。现在我需要通过回调检索令牌,但不知道如何做。 在main.js中,我设置了一个变量来接收来自PushNotification.js函数的返回值initPushwoosh()

这是main.js中的部分

function init() {
document.addEventListener("deviceready", deviceInfo, true);
var vvvtoken=document.addEventListener("deviceready", initPushwoosh, true);
var html='<h3>'+vvvtoken+' </h3>';
 $('#mailList').html(html).listview('refresh');

 }

这是initPushwoosh()

的部分
function initPushwoosh()
{

var pushNotification = window.plugins.pushNotification;
// CHANGE projectid & appid
pushNotification.registerDevice({ projectid: "xxxxxxxx", appid : "xxxxxxxxxxxx" },
function(status) {
var pushToken = status;
console.warn('push token: ' + pushToken);
return pushToken;
},
function(status) {
console.warn(JSON.stringify(['failed to register ', status]));
return "failed to register";
});

document.addEventListener('push-notification', function(event) {
var title = event.notification.title;
var userData = event.notification.userdata;

if(typeof(userData) != "undefined") {
console.warn('user data: ' + JSON.stringify(userData));
}

navigator.notification.alert(title);
});

}

我在我的Android手机上运行它并且我没有收到任何返回值。如何进行回调并返回令牌?

1 个答案:

答案 0 :(得分:0)

document.addEventListener不运行该函数并返回结果。它所做的就是将函数设置为在将来的某个时间运行 - 几乎可以肯定在您尝试显示令牌之后。

而不是

return pushtoken;

尝试:

$("h3").html(pushtoken);
return;