2016-09-21 3 views
0

У меня возникла проблема с планированием локальных уведомлений с помощью ионного каркаса.TypeError: Не удается прочитать свойство «local» неопределенного в Object.schedule (ng-cordova.js: 5042)

это угловой модуль моей app.js

angular.module('starter', ['ionic','chart.js','ngCordova']) 

с контроллером

.controller("ExampleController", function($scope, $ionicPlatform,$interval,$cordovaLocalNotification) 

я пытаюсь создать уведомление с помощью этого метода

scheduleInstantNotification = function() { 
      $cordovaLocalNotification.schedule({ 
       id: 1, 
       text: 'Value out of bound', 
       title: 'Anomaly' 
      }).then(function() { 
       alert("Instant Notification set"); 
      });; 
     }; 

когда работая на устройстве Android, я получаю это сообщение об ошибке:

TypeError: Cannot read property 'local' of undefined 
    at Object.schedule (ng-cordova.js:5042) 
    at scheduleInstantNotification (app.js:138) 
    at app.js:64 
    at ionic.bundle.js:56230 
    at Object.ready (ionic.bundle.js:2140) 
    at Object.ready (ionic.bundle.js:56223) 
    at app.js:62 
    at callback (ionic.bundle.js:25611) 
    at Scope.$eval (ionic.bundle.js:30395) 
    at Scope.$digest (ionic.bundle.js:30211) 

Я подозреваю, что эта ошибка возникает из библиотеки ngCordova ошибка происходит из этого кода часть библиотеки

schedule: function (options, scope) { 
    var q = $q.defer(); 
    scope = scope || null; 
    $window.cordova.plugins.notification.local.schedule(options, function (result) { 
     q.resolve(result); 
    }, scope); 
    return q.promise; 
    }, 

$ window.cordova.plugins.notification.local объект не определен ,

Я пропустил что-то в контроллере?

EDIT добавив нужный плагин с: Cordova плагин добавить https://github.com/katzer/cordova-plugin-local-notifications.git

вызывает ошибку компиляции при запуске

ionic build android 

FAILURE: Build failed with an exception. 
* What went wrong: 
A problem occurred configuring root project 'android'. 
> Could not resolve all dependencies for configuration ':_debugCompile'. 
    > Could not find any matches for com.android.support:support-v4:+ as  no versions of com.android.support:support-v4 are available. 
    Searched in the following locations: 

    https://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml 
    https://repo1.maven.org/maven2/com/android/support/support-v4/ 
    https://jcenter.bintray.com/com/android/support/support-v4/maven-metadata.xml 
    https://jcenter.bintray.com/com/android/support/support-v4/ 
Required by: 
    :android:unspecified 
  • Try: Run с --stacktrace вариант, чтобы получить трассировки стека. Запустите с опцией --info или --debug, чтобы получить больше выходных данных журнала.
+0

Я отредактировал свой ответ, надеюсь, что это поможет! – e666

ответ

0

Вам нужно добавить модуль с:

cordova plugin add https://github.com/katzer/cordova-plugin-local-notifications.git 

, как указано на ngcordova документации:

http://ngcordova.com/docs/plugins/localNotification/

Не забудьте также вызвать любой метод из плагина после $ionicPlatform.ready.

EDIT Для вашей ошибки при компиляции с помощью этого плагина, пожалуйста, убедитесь, что библиотека Поддержка Android установлена ​​с помощью диспетчера Android SDK.

+0

добавление плагина вызывает исключение при построении (см. Править) –

+0

большое спасибо, это решило мою проблему –

Смежные вопросы