2

Я говорю об этом плагине katzer/cordova-plugin-local-notificationsKatzer местное уведомление не работает - Кордова

Я использовал его, прежде чем несколько месяцев назад. Теперь я нахожу, что это изменилось по-разному. Поэтому я попытался создать простое уведомление.

Я установил плагин

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

Далее я пытался что-то простое

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"); 

Ничего не произошло, никаких ошибок не показывал. Оба предупреждения были показаны отлично.

Тогда я попробовал что-то более простое.

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 
}); 

Опять ничего. Затмение LogCat показывает этот

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) 

Я протестирована в Genymotion эмулятора 4.2.2 Устройство изображения & Xperia - Android 4.4.4. Я ждал, когда начнется девицерий. В js нет другой ошибки. Может ли кто-нибудь рассказать мне, что мне не хватает? Что-то не так?

ответ

1

Причина проблемы не найдена, но вот решение.

Это был старше проект, цель была 16 SDK, поэтому я обновил его до 19

установлен Переоценка всех плагинов. И теперь он работает. Я предполагаю, что это была некоторая зависимость/ошибка версии. С новыми версиями плагинов он работает так, как ожидалось.

0

Ради моего проекта (так как это устаревший проект, хотя он указал на sdk 19) Мне пришлось использовать версию 0.7.8, и nullPointerException исчез, и все стало работать отлично.

Процедура

  1. Сначала удалите текущий плагин, который является последней версией.

    $ phonegap plugin rm de.appplant.cordova.plugin.local-notification 
    
  2. Затем установите версию 0.7.8

    $ phonegap plugin add [email protected] 
    

Затем следовал docs for that version

возможных неисправностей

Если у вас есть проблемы с phonegap plugin rm вы можете попробовать повторно вселить lin последней версии и деинсталляции для правильной установки 0.7.8.

Для успешной установки версии 0.7.8, мне пришлось удалить некоторые de.applant.cordova.plugin.localnotification пакеты от /src, а также js папка de.appplant.cordova.plugin.local-notification от /assets/www/plugins.

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