0

私のアプリケーションのコントローラに以下のコードがありますが、動作していないようです。ブラウザでテストすると、このエラー "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を既に追加しました。なぜそれが動作していない可能性がありますか?

+0

cordovalocalnotificationの問題についてのこの回答を確認してください。https://github.com/driftyco/ng-cordova/issues/855 –

+0

@Chan barebone cordova framworkをionicではないこの簡単なサンプルを試してみることをお勧めします - https ://github.com/gandhirajan/Cordova_Local_Notificationからビルドしてください – Gandhi

答えて

0

は、潜在的な問題のリストを経る:http://ngcordova.com/docs/common-issues/

私の提案は、あなたがionicPlatform.ready()イベントでプラグインをラップする必要があることでしょう。

0

ブラウザでは、プラグインが使用できないため、未定義のエラーのプラグインがスローされます。

内部的に$ cordovaLocalNotification.scheduleはイベントをブロードキャストします。あなたのコードで$ onを使うことができます。

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

デバイスで一度テストした方がよい。 これが役立つことを願っています。