2016-10-25 2 views
0

ngCordovas 로컬 알림 플러그 인을 사용하여 로컬 알림을 설정했습니다. 그들은 발사 중이며 신청서가 접수되고 있습니다. 그러나 그 후에는 원하는 특정 페이지로 리디렉션 할 수 없습니다. 여기에 내 관련 코드, 클릭 이벤트 내부 console.log 발사, 주석 된 코드를 페이지로 리디렉션됩니다 있지만 해당 시점에서 (CSS로드, js 부트 스트랩 등)로컬 알림 리디렉션이 ionic에서 작동하지 않음

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

답변

0

클릭 기능 자체 대신 .run 함수로 상태를 가져 오면 $ state.go ('notification')이 실제로 작동합니다.