$ cordovaLocalNotification无效

时间:2016-09-21 08:58:04

标签: javascript cordova ionic-framework cross-platform localnotification

我在我的应用程序控制器中有以下代码,似乎没有工作。在浏览器上测试它会给我带来这个错误" TypeError:无法读取属性'插件'未定义"。请注意,即使我在设备上模拟,也不会显示.then内的警报。

angular.module('controllers', ['ionic', 'ngCordova'])

.controller('MainCtrl', function($scope, $ionicSideMenuDelegate, $ionicPlatform, $cordovaLocalNotification, GoogleMaps) {

  // Change Map Type
  $scope.setMapType = function(newMapType) {
    GoogleMaps.setMapType(newMapType);

    alert("Setting notification");

    // Supposed to trigger a notification
    $cordovaLocalNotification.schedule({
      id: 1,
      title: 'Instant',
      text: 'Instant Notification',
    }).then(function (result) {
      alert("Instant Notification set");
    });
  };
});

我还在index.html中导入了ng-cordova.min.js和cordova.js。 我也做过cordova插件添加https://github.com/katzer/cordova-plugin-local-notifications.git。任何想法为什么它可能无法正常工作?

2 个答案:

答案 0 :(得分:0)

查看可能出现的问题列表:http://ngcordova.com/docs/common-issues/

我的建议是你必须将该插件包装在ionicPlatform.ready()事件中。

答案 1 :(得分:0)

在浏览器中,由于插件不可用,它会引发未定义错误的插件。

内部$ cordovaLocalNotification.schedule将广播一个事件。您可以在代码中使用$ on来处理。

 $rootScope.$on('$cordovaLocalNotification:schedule',
function (event, notification, state) {
  // ...
});

最好在设备上测试一次。 希望这会有所帮助。

相关问题