iOS : 在 Appcelerator Titanium 中通过本地通知打开特定页面
iOS : Open a specific page through local notifications in Appcelerator Titanium
我正在 Appcelerator Titanium (SDK 3.5.1.GA) 中开发 iOS 应用程序当应用程序处于后台时,它使用 后台服务 显示 本地 iOS 通知。点击通知后,应用程序会毫无问题地重新启动,但在点击通知时我无法重定向到特定页面。请在下面查看我的代码;
Acquiring permissions for iOS 8 & above.
if (Ti.Platform.name == "iPhone OS" && parseInt(Ti.Platform.version.split(".")[0]) >= 8) {
Ti.App.iOS.registerUserNotificationSettings({
types : [Ti.App.iOS.USER_NOTIFICATION_TYPE_ALERT, Ti.App.iOS.USER_NOTIFICATION_TYPE_SOUND, Ti.App.iOS.USER_NOTIFICATION_TYPE_BADGE]
});
}
Registering background service.
var notificationsService = Ti.App.iOS.registerBackgroundService({
url : 'services/backgroundService.js'
});
In backgroundService.js
var notification = Ti.App.iOS.scheduleLocalNotification({
alertBody:"Hi, you have a new notification!",
date:new Date(new Date().getTime() + 5000)
}); // shows notification after 5 seconds of background time.
Ti.App.iOS.addEventListener('notification', function(e) {
var loginWindow = require('/newLogin');
var win_login = loginWindow.getLoginWindow();
win_login.open();
});
一旦 'notification' 事件侦听器被触发,win_login 屏幕将显示一段时间仅仅 2 秒就消失了(然后应用程序将显示主页)。
任何人都可以告诉我我可以做些什么来让它发挥作用。
谢谢!
显然您的应用程序正在执行来自您的 newLogin window 的代码,但一秒钟后它继续加载它应该从 app.js 文件加载的内容。
您可以设置一个全局变量,如 "comingFromNotification",然后应用程序在 app.js 上执行所有操作后检查此变量并打开 window 或添加超时功能
我正在 Appcelerator Titanium (SDK 3.5.1.GA) 中开发 iOS 应用程序当应用程序处于后台时,它使用 后台服务 显示 本地 iOS 通知。点击通知后,应用程序会毫无问题地重新启动,但在点击通知时我无法重定向到特定页面。请在下面查看我的代码;
Acquiring permissions for iOS 8 & above.
if (Ti.Platform.name == "iPhone OS" && parseInt(Ti.Platform.version.split(".")[0]) >= 8) {
Ti.App.iOS.registerUserNotificationSettings({
types : [Ti.App.iOS.USER_NOTIFICATION_TYPE_ALERT, Ti.App.iOS.USER_NOTIFICATION_TYPE_SOUND, Ti.App.iOS.USER_NOTIFICATION_TYPE_BADGE]
});
}
Registering background service.
var notificationsService = Ti.App.iOS.registerBackgroundService({
url : 'services/backgroundService.js'
});
In backgroundService.js
var notification = Ti.App.iOS.scheduleLocalNotification({
alertBody:"Hi, you have a new notification!",
date:new Date(new Date().getTime() + 5000)
}); // shows notification after 5 seconds of background time.
Ti.App.iOS.addEventListener('notification', function(e) {
var loginWindow = require('/newLogin');
var win_login = loginWindow.getLoginWindow();
win_login.open();
});
一旦 'notification' 事件侦听器被触发,win_login 屏幕将显示一段时间仅仅 2 秒就消失了(然后应用程序将显示主页)。
任何人都可以告诉我我可以做些什么来让它发挥作用。
谢谢!
显然您的应用程序正在执行来自您的 newLogin window 的代码,但一秒钟后它继续加载它应该从 app.js 文件加载的内容。 您可以设置一个全局变量,如 "comingFromNotification",然后应用程序在 app.js 上执行所有操作后检查此变量并打开 window 或添加超时功能