I'm talking about this plugin katzer/cordova-plugin-local-notifications
I've used it before few months back. Now I find it changed in many ways. So I tried to create a simple notification.
I installed the plugin
cordova plugins add https://github.com/katzer/cordova-plugin-local-notifications
Next I tried something simple
alert("enter");
var now = new Date().getTime(),
_5_sec_from_now = new Date(now + 5*1000);
cordova.plugins.notification.local.schedule({
title: "Production Jour fixe",
text: "Duration 1h",
at: _5_sec_from_now,
});
alert("exit");
Nothing happened, no error was showing. Both the alerts were shown perfectly.
Then I tried something more simpler.
cordova.plugins.notification.local.schedule({ message:"Hello World" });
cordova.plugins.notification.local.get(0, function (notification) {
alert(notification.text); //=> "Hello World"
alert(notification.message); //=> undefined
});
Again nothing. Eclipse logcat is showing this
03-24 08:25:51.922: E/PluginManager(2422): Uncaught exception from plugin
03-24 08:25:51.922: E/PluginManager(2422): java.lang.NullPointerException
03-24 08:25:51.922: E/PluginManager(2422): at de.appplant.cordova.plugin.localnotification.LocalNotification.execute(LocalNotification.java:133)
03-24 08:25:51.922: E/PluginManager(2422): at org.apache.cordova.CordovaPlugin.execute(CordovaPlugin.java:65)
03-24 08:25:51.922: E/PluginManager(2422): at org.apache.cordova.PluginManager.execHelper(PluginManager.java:242)
03-24 08:25:51.922: E/PluginManager(2422): at org.apache.cordova.PluginManager.exec(PluginManager.java:227)
03-24 08:25:51.922: E/PluginManager(2422): at org.apache.cordova.ExposedJsApi.exec(ExposedJsApi.java:53)
03-24 08:25:51.922: E/PluginManager(2422): at android.webkit.JWebCoreJavaBridge.sharedTimerFired(Native Method)
03-24 08:25:51.922: E/PluginManager(2422): at android.webkit.JWebCoreJavaBridge.sharedTimerFired(Native Method)
03-24 08:25:51.922: E/PluginManager(2422): at android.webkit.JWebCoreJavaBridge.fireSharedTimer(JWebCoreJavaBridge.java:92)
03-24 08:25:51.922: E/PluginManager(2422): at android.webkit.JWebCoreJavaBridge.handleMessage(JWebCoreJavaBridge.java:108)
03-24 08:25:51.922: E/PluginManager(2422): at android.os.Handler.dispatchMessage(Handler.java:99)
03-24 08:25:51.922: E/PluginManager(2422): at android.os.Looper.loop(Looper.java:137)
03-24 08:25:51.922: E/PluginManager(2422): at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:812)
03-24 08:25:51.922: E/PluginManager(2422): at java.lang.Thread.run(Thread.java:856)
03-24 08:25:53.890: W/EGL_genymotion(2422): eglSurfaceAttrib not implemented
03-24 08:25:55.506: E/PluginManager(2422): Uncaught exception from plugin
03-24 08:25:55.506: E/PluginManager(2422): java.lang.NullPointerException
03-24 08:25:55.506: E/PluginManager(2422): at de.appplant.cordova.plugin.localnotification.LocalNotification.execute(LocalNotification.java:133)
03-24 08:25:55.506: E/PluginManager(2422): at org.apache.cordova.CordovaPlugin.execute(CordovaPlugin.java:65)
03-24 08:25:55.506: E/PluginManager(2422): at org.apache.cordova.PluginManager.execHelper(PluginManager.java:242)
03-24 08:25:55.506: E/PluginManager(2422): at org.apache.cordova.PluginManager.exec(PluginManager.java:227)
03-24 08:25:55.506: E/PluginManager(2422): at org.apache.cordova.ExposedJsApi.exec(ExposedJsApi.java:53)
03-24 08:25:55.506: E/PluginManager(2422): at android.webkit.WebViewCore.nativeMouseClick(Native Method)
03-24 08:25:55.506: E/PluginManager(2422): at android.webkit.WebViewCore.nativeMouseClick(Native Method)
03-24 08:25:55.506: E/PluginManager(2422): at android.webkit.WebViewCore.access$6800(WebViewCore.java:57)
03-24 08:25:55.506: E/PluginManager(2422): at android.webkit.WebViewCore$EventHub.dispatchWebKitEvent(WebViewCore.java:1788)
03-24 08:25:55.506: E/PluginManager(2422): at android.webkit.WebViewInputDispatcher.dispatchWebKitEvent(WebViewInputDispatcher.java:689)
03-24 08:25:55.506: E/PluginManager(2422): at android.webkit.WebViewInputDispatcher.dispatchWebKitEvents(WebViewInputDispatcher.java:639)
03-24 08:25:55.506: E/PluginManager(2422): at android.webkit.WebViewInputDispatcher.access$800(WebViewInputDispatcher.java:78)
03-24 08:25:55.506: E/PluginManager(2422): at android.webkit.WebViewInputDispatcher$WebKitHandler.handleMessage(WebViewInputDispatcher.java:1153)
03-24 08:25:55.506: E/PluginManager(2422): at android.os.Handler.dispatchMessage(Handler.java:99)
03-24 08:25:55.506: E/PluginManager(2422): at android.os.Looper.loop(Looper.java:137)
03-24 08:25:55.506: E/PluginManager(2422): at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:812)
03-24 08:25:55.506: E/PluginManager(2422): at java.lang.Thread.run(Thread.java:856)
03-24 08:25:55.510: E/PluginManager(2422): Uncaught exception from plugin
03-24 08:25:55.510: E/PluginManager(2422): java.lang.NullPointerException
03-24 08:25:55.510: E/PluginManager(2422): at de.appplant.cordova.plugin.localnotification.LocalNotification.execute(LocalNotification.java:133)
03-24 08:25:55.510: E/PluginManager(2422): at org.apache.cordova.CordovaPlugin.execute(CordovaPlugin.java:65)
03-24 08:25:55.510: E/PluginManager(2422): at org.apache.cordova.PluginManager.execHelper(PluginManager.java:242)
03-24 08:25:55.510: E/PluginManager(2422): at org.apache.cordova.PluginManager.exec(PluginManager.java:227)
03-24 08:25:55.510: E/PluginManager(2422): at org.apache.cordova.ExposedJsApi.exec(ExposedJsApi.java:53)
03-24 08:25:55.510: E/PluginManager(2422): at android.webkit.WebViewCore.nativeMouseClick(Native Method)
03-24 08:25:55.510: E/PluginManager(2422): at android.webkit.WebViewCore.nativeMouseClick(Native Method)
03-24 08:25:55.510: E/PluginManager(2422): at android.webkit.WebViewCore.access$6800(WebViewCore.java:57)
03-24 08:25:55.510: E/PluginManager(2422): at android.webkit.WebViewCore$EventHub.dispatchWebKitEvent(WebViewCore.java:1788)
03-24 08:25:55.510: E/PluginManager(2422): at android.webkit.WebViewInputDispatcher.dispatchWebKitEvent(WebViewInputDispatcher.java:689)
03-24 08:25:55.510: E/PluginManager(2422): at android.webkit.WebViewInputDispatcher.dispatchWebKitEvents(WebViewInputDispatcher.java:639)
03-24 08:25:55.510: E/PluginManager(2422): at android.webkit.WebViewInputDispatcher.access$800(WebViewInputDispatcher.java:78)
03-24 08:25:55.510: E/PluginManager(2422): at android.webkit.WebViewInputDispatcher$WebKitHandler.handleMessage(WebViewInputDispatcher.java:1153)
03-24 08:25:55.510: E/PluginManager(2422): at android.os.Handler.dispatchMessage(Handler.java:99)
03-24 08:25:55.510: E/PluginManager(2422): at android.os.Looper.loop(Looper.java:137)
03-24 08:25:55.510: E/PluginManager(2422): at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:812)
03-24 08:25:55.510: E/PluginManager(2422): at java.lang.Thread.run(Thread.java:856)
I tested in Genymotion emulator 4.2.2 device image & Xperia - android 4.4.4. I've waited for the deviceready event to fire. There is no other error in js. Can anyone please tell me what I'm missing? Is there anything wrong?
Problem's reason not found but here is the solution.
It was a older project, target sdk was 16, So I updated it to 19.
Re-installed all the plugins. And it's working now. I'm guessing it was some kind dependency / version error. With new plugin versions it works as expected.