Reputation: 8940
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?
Upvotes: 2
Views: 2495
Reputation: 1334
For the sake of my project (since it's a legacy project altough it pointed to sdk 19) I had to use version 0.7.8 and the nullPointerException disappeared and everything began working perfectly.
Procedure
First remove the current plugin which is the latest version.
$ phonegap plugin rm de.appplant.cordova.plugin.local-notification
Then install version 0.7.8
$ phonegap plugin add [email protected]
Then followed the docs for that version
TroubleShooting
If you have problems with phonegap plugin rm
you may try re-installin latest version and uninstalling in order to install correctly 0.7.8.
In order to successfully install version 0.7.8, I had to delete some de.applant.cordova.plugin.localnotification
packages from /src
and also the js folder de.appplant.cordova.plugin.local-notification
from /assets/www/plugins
.
Upvotes: 0
Reputation: 8940
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.
Upvotes: 1