Я использую титановый appcelerator для небольшого приложения с pushwoosh в качестве сервера уведомлений.Ошибка фильтра титанов при открытии окна после получения push-уведомления
На моем index.xml я следующее:
<Alloy>
\t <!-- Anddroid Window -->
\t <Window id="index" platform="android">
\t \t <Require type="view" id="firstscreen" src="firstscreen"/>
\t </Window>
\t <!-- iOS Window -->
\t <NavigationWindow id="nav" platform="ios">
\t \t <Window id="win1" backgroundColor="white">
\t \t \t <Require type="view" id="firstscreen" src="firstscreen"/>
\t \t </Window>
\t </NavigationWindow>
</Alloy>
вторых index.js, где я получаю толчок и перенаправить пользователя для входа в систему JS, например, цель чтобы открыть соответствующую страницу из пользовательского значения push, но здесь я делаю это просто, просто для теста.
if (OS_ANDROID) {
\t $.index.addEventListener('open', after_win_load);
\t $.index.open();
} else {
\t $.nav.addEventListener('open', after_win_load);
\t $.nav.open();
}
var pushwoosh = require('com.pushwoosh.module');
/*
* PUSHWOOSH
* */
pushwoosh.onPushOpened(function(e) {
var message = e.message;
var login = Alloy.createController('login').getView();
$.nav.open(login);
});
pushwoosh.initialize({
"application" : "XXXX-XXXXXX",
"gcm_project" : "XXXXXXXXXXX"
});
pushwoosh.registerForPushNotifications(
function(e) {
var pushToken = e.registrationId;
;
\t \t console.log('Push token ' + pushwoosh.getPushToken());
\t \t Alloy.Globals.resgisterId = e.registrationId;
},
function(e) {
var errorMessage = e.error;
console.log("Error during registration: " + e.error);
// alert('push error');
}
);
И последний login.xml и login.js
<Alloy>
\t <Window id="login" >
\t \t <ScrollView scrollingEnabled="true" contentWidth="Ti.UI.FILL" disableBounce="true">
\t \t \t <!-- Here another view -->
\t \t </ScrollView>
\t </Window>
</Alloy>
//// login.js is simple :
var args = $.args;
console.log('hey boy');
При получении толчок уведомление, и нажмите на него, чтобы перенаправить чтобы залогиниться JS я следующее сообщение об ошибке:
[WARN] : Creating [object login] in a different context than the calling function.
[WARN] : Creating [object __alloyId48] in a different context than the calling function.
[ERROR] : Script Error {
[ERROR] : column = 2330;
[ERROR] : line = 1;
[ERROR] : message = "null is not an object (evaluating 'a.__views.login.add')";
[ERROR] : sourceURL = "file:///var/containers/Bundle/Application/ADE5F25A-17A4-4197-98C7-0781216545A3/myApp.app/alloy/controllers/login.js";
[ERROR] : stack = "[email protected]:///var/containers/Bundle/Application/ADE5F25A-17A4-4197-98C7-0781216545A3/myApp.app/alloy/controllers/login.js:1:2330\[email protected]:///var/containers/Bundle/Application/ADE5F25A-17A4-4197-98C7-0781216545A3/myApp.app/alloy.js:1:5254\[email protected]:///var/containers/Bundle/Application/ADE5F25A-17A4-4197-98C7-0781216545A3/myApp.app/xpng.js:1:283\nfile:///var/containers/Bundle/Application/ADE5F25A-17A4-4197-98C7-0781216545A3/myApp.app/alloy/controllers/firstscreen.js:1:3855";
[ERROR] : }
Я понятия не имею, где ошибка есть, могли бы вы помочь мне решить эту проблему? Спасибо.
ПРИМЕЧАНИЕ: Я просто могу перейти на другую страницу, если я положил Alloy.createController ('login'). GetView(). Open() вне события Pushwoosh – Rahajason