Итак, у меня настроены локальные уведомления с помощью плагина локальных уведомлений ngCordovas. Они стреляют и получают приложение. Однако после этого я не могу перенаправить на нужную страницу. Вот мой соответствующий код, console.log внутри события click срабатывает, и закомментированный код будет перенаправлять на страницу, но в этот момент он находится за пределами ionic (css не загружается, js не загружается и т. д.)
angular.module('starter', ['ionic', 'starter.controllers', 'starter.services', 'ngCordova', 'ionic-numberpicker', 'ngStorage'])
.config(function($ionicConfigProvider){
$ionicConfigProvider.views.maxCache(0);
})
.run(function($ionicPlatform, $rootScope, $cordovaLocalNotification) {
$ionicPlatform.ready(function() {
$rootScope.$on("$cordovaLocalNotification:click", function(notification, $state) {
console.log('clicked notification');
//window.location.href = 'templates/notification.html';
$state.go('notification');
});
if (window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
});
})
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('app', {
url: '/app',
abstract: true,
cache:false,
templateUrl: 'templates/menu.html',
controller: 'AppCtrl'
})
.state('app.settings', {
url: '/settings',
cache:false,
views: {
'menuContent': {
templateUrl: 'templates/settings.html',
controller: 'SettingsCtrl'
}
}
})
.state('app.list', {
url: '/list',
cache:false,
views: {
'menuContent': {
templateUrl: 'templates/list.html',
controller: 'ListCtrl'
}
}
})
.state('app.home', {
url: '/home',
cache:false,
views: {
'menuContent': {
templateUrl: 'templates/home.html',
controller: 'HomeCtrl'
}
}
})
.state('app.contact', {
url: '/contact',
cache:false,
views: {
'menuContent': {
templateUrl: 'templates/contact.html',
controller: 'ContactCtrl'
}
}
})
.state('app.user', {
url: '/users/:userId',
cache:false,
views: {
'menuContent': {
templateUrl: 'templates/users.html',
controller: 'UsersCtrl'
}
}
})
.state('notification', {
url: '/notification',
cache:false,
templateUrl: 'templates/notification.html',
controller: 'NotificationCtrl'
});
// if none of the above states are matched, use this as the fallback
$urlRouterProvider.otherwise('/app/home');
});