在IBM Worklight中使用katzer本地通知

时间:2014-06-06 08:17:37

标签: android ibm-mobilefirst cordova-plugins localnotification

我想在https://github.com/katzer/cordova-plugin-local-notifications

使用此cordova插件

如何将此插件与我现有的IBM Worklight项目集成?我尝试了各种方法来集成它,没有任何结果。

我目前从logcat获得此错误:

02-24 11:15:03.035: D/CordovaLog(2439): file:///data/data/com.iCareApp/files/www/default/index.html: Line 17 : Uncaught TypeError: Cannot read property 'notification' of undefined

或者还有其他更简单的选择来完成这项工作吗?基本上我希望能够在特定时间根据我的应用程序中存储的数据在设备上安排本地通知

1 个答案:

答案 0 :(得分:2)

我按照以下方式开始工作。

演示项目:https://www.dropbox.com/s/58urdluauc8u3l1/AndroidLocalNotifications.zip

由于Worklight不支持Cordova的Plugman轻松“安装”Cordova v3插件,因此需要一些手工操作才能正确设置所有设置... blachs。

注意appName,它在整个过程中用于插件声明。如果您在应用中使用其他名称,则需要相应地更新这些值。

  1. 请注意nativeResources文件夹,我在其中放置了我编辑过的文件:

    • 的AndroidManifest.xml:
      • 在其中我添加了所需的权限,接收者,活动
    • libs文件夹:
      • 包含插件所需的.jar文件
    • src文件夹:
      • 包含插件的Java类
      • 在其中我编辑了插件导入声明
    • res \ xml文件夹:
      • 包含config.xml;请参阅底部的插件功能声明

  2. 在index.html中:
    • 插件的JavaScript实现在head元素中引用 <script src="js/local-notification.js"></script>

  3. 在main.js中:

    function wlCommonInit(){
        window.plugin.notification.local.add({ message: 'this is a local notification' });
    }
    

    上述内容将在应用程序启动后立即发送本地通知 In the plug-in's homepage您可以阅读有关可能的通知选项的更多信息。

  4. 在local-notification.js中:

    • 在顶部添加:
      cordova.define("LocalNotification", function(require, exports, module) {

    • 在底部添加:
      });

  5. 在生成的Android项目\ assets \ www \ default \ js \ worklight \ cordova_plugins.js中,添加:

    ,
    {
        "file": "../js/local-notification.js",
        "id": "LocalNotification",
        "clobbers": [
            "plugin.notification.local"
        ] 
    } 
    

    请注意,重新构建Worklight项目将覆盖此文件,因此您的更改将会消失......您需要在每次构建后重复此步骤。

    我找不到在Worklight Studio版本之间保留对此文件的更改的好方法。

  6. enter image description here