【问题标题】:Local notification in phonegap 3.3.0phonegap 3.3.0 中的本地通知
【发布时间】:2014-01-07 18:31:33
【问题描述】:

谢谢道森!下面提到的问题已经在android中解决了。但遗憾的是,当我在 ios 中构建项目时它不起作用,有人可以帮忙吗?

我将使用这个插件来构建一个带有本地通知的 android/ios 应用程序。 https://github.com/katzer/cordova-plugin-local-notifications/wiki

首先我创建了一个 phonegap 项目

phonegap create notification

添加插件

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

修改/www/config.xml

<gap:plugin name="de.appplant.cordova.plugin.local-notification" />

我将 local-notification.js 复制到 /www 目录并在 index.html 中引用它

<html>
<head>
    <meta charset="utf-8" />
    <meta name="format-detection" content="telephone=no" />
    <!-- WARNING: for iOS 7, remove the width=device-width and height=device-height attributes. See https://issues.apache.org/jira/browse/CB-4323 -->
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
    <link rel="stylesheet" type="text/css" href="css/index.css" />
    <title>Hello World</title>
</head>
<body>
    <div class="app">
        <h1>PhoneGap</h1>
        <div id="deviceready" class="blink">
            <p class="event listening">Connecting to Device</p>
            <p class="event received">Device is Ready</p>
        </div>
    </div>
    <script type="text/javascript" src="cordova.js"></script>
    <script type="text/javascript" src="local-notification.js"></script>
    <script type="text/javascript">]
        window.plugin.notification.local.add({ message: 'Great app!' });
    </script>
</body>

我使用命令构建了 android 应用程序

phonegap build android

我可以成功构建 android 应用程序,但没有按预期弹出通知。 任何人都可以知道我在上面的问题上有什么问题吗?非常感谢大家。

【问题讨论】:

  • 您是否在 logcat 中收到错误消息?你的设置在我看来是正确的......
  • 实际上我在控制台中有 2 个错误 1.Uncaught ReferenceError: module is not defined at file:///android_asset/www/local-notification.js:101 2.Cannot read property 'local' of未定义文件:///android_asset/www/index.hmtl:40
  • 你在添加ios到你的项目之前添加插件了吗?
  • 是的,我正在使用和android一样的源文件来构建一个ios项目

标签: android ios plugins cordova notifications


【解决方案1】:

在 deviceReady 事件触发之前,您将无法调用该函数。

为了测试,我总是使用我的插件功能并将其作为点击操作添加到“设备准备就绪”p 标签中。

例子:

<p class="event received">Device is Ready</p>

改为:

<p class="event received" onclick="window.plugin.notification.local.add({ message: 'Great app!' });">Device is Ready</p>

我使用默认的 cordova 示例应用程序执行此操作,因为我知道在 deviceReady 事件触发之后才会显示“设备已准备就绪”。这是在您对项目进行任何实际工作之前测试插件是否正常工作的好方法。

【讨论】:

    【解决方案2】:

    这是另一个例子。它具有自定义声音和其他属性,例如标题、徽章类型,有趣的是这个插件文档尚未完成,为 android 创建本地通知,使用最新的cordova(3.4.x)绝对漂亮,只需创建一个 var 并分配你的包名称(您在使用命令行创建 phonegap/cordova 项目时使用的那个,例如:

         cordova create LocalNotification com.example.localnotification LocalNotification
    

    应该在插件中使用这些值:

        var package_name = "com.example.localnotification";
                        window.plugin.notification.local.add({
                                      date        : Math.round(new Date().getTime()/1000 + 5),
                                      title       : "Android App Tes Local Notification", 
                                      message       : "This is a new local notification.",
                                      repeat        : "daily",
                                      sound       : 'android.resource://' + package_name + '/raw/beep',
                                      badge           : 0,
                                      id             : 666,
                                      foreground      : function(notificationId){
                                      console.log("Hello World! This alert was triggered by notification " + notificationId);
                                      },
                                      background  : function(notificationId){
                                      console.log("Hello World! This alert was triggered by notification " + notificationId);
                                      }           
                                      });
    

    Download local notificator plugin (working on Android ONLY)

    Download beep.mp3

    stack overflow original comment

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-08
      相关资源
      最近更新 更多