iOS:通过Appcelerator Titanium中的本地通知打开特定页面

时间:2017-03-24 17:07:25

标签: ios notifications titanium appcelerator appcelerator-titanium

我正在使用后台服务 Appcelerator Titanium (SDK 3.5.1.GA)中的 iOS 应用程序在应用程序处于后台时显示本地iOS通知。点击通知后,应用会重新启动,但我在点击通知时无法重定向到特定页面。请参阅下面的代码;

  

获取iOS 8及更高版本的权限上方。

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]
    });
}
  

注册后台服务。

var notificationsService = Ti.App.iOS.registerBackgroundService({
    url : 'services/backgroundService.js'
});
  

在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();
});

触发' 事件监听器后, win_login 屏幕将显示仅2秒并消失(应用程序将然后显示主页)。

任何人都可以告诉我我可以做些什么来使其发挥作用。

谢谢!

1 个答案:

答案 0 :(得分:0)

显然你的应用程序正在执行newLogin窗口中的代码,但是一秒钟后它会继续加载应该从app.js文件加载的内容。 您可以设置一个全局变量,例如" comingFromNotification"然后应用程序在app.js上执行的所有操作检查此变量并打开窗口或添加超时功能

相关问题