Search code examples
javascriptandroidcordovacordova-pluginsphonegap-build

How can i get local notifications plugin to work on my cordova app?


i'm using cordova-plugin-local-notification and I want the notification to trigger on setReminder() function. Please how can I do this

var app = {
    // Application Constructor
    initialize: function() {
        document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
    },

    // deviceready Event Handler
    //
    // Bind any cordova events here. Common events are:
    // 'pause', 'resume', etc.
    onDeviceReady: function() {
    this.receivedEvent('deviceready');
    document.getElementById("setreminder").addEventListener("click", setReminder);
    cordova.plugins.notification.local.registerPermission(function (granted) {
    });
    },

    // Update DOM on a Received Event
    receivedEvent: function(id) {
    StatusBar.overlaysWebView(false);
    StatusBar.backgroundColorByHexString('#4281F5');
    StatusBar.styleDefault();
    document.getElementById("setreminder").addEventListener("click", setReminder);
                   var sound = "js/when.mp3";
                   var date = new Date();
                function setReminder() {
                    cordova.plugins.notification.local.schedule({
                    id: 1,
                    title: "IKD-FAD",
                    message: "Your Bus Is Almost Here!",
                    at: date,
                    sound: sound,
                    icon: "js/citybus.png"
                });
                }
    }
};

app.initialize();

Solution

  • document.addEventListener("deviceready", ondeviceready, false);
            function ondeviceready() {
    
            }
    function setReminder(btn) {
                navigator.vibrate(1000);
                cordova.plugins.notification.local.schedule({
                id: 1,
                title: btn.dataset.name,
                text: "Your Bus Will Be At The Station In " + changedTime + " Minutes",
                trigger: { in: btn.dataset.diff, unit: 'minute' },
                sound: "file://js/when.mp3",
                icon: "file://img/mmArtboard.png"
                });
    

    This fixed it for me