android - PushPlugin 注册到 errorhandler 显示 'Class not found' 与 cordova 4.0.0 for android 平台

标签 android cordova push-notification hybrid-mobile-app phonegap-pushplugin

我正在使用适用于 Android 的 Cordova(版本 4.0.0)构建一个混合应用程序。

我已将 PushPlugin ( https://github.com/phonegap-build/PushPlugin) 添加到项目中。注册时它会转到错误处理程序并显示“找不到类”。

我尝试过各种建议,比如

  • 在 xml 中添加了插件引用。实际上插件引用已经存在于 config.xml 文件中。
  • 使用 CLI 直接安装插件 (试过 Cordova 插件添加 https://github.com/phonegap-build/PushPlugin.git以及 Cordova 插件添加 com.phonegap.plugins.pushplugin)
  • 创建新项目等
  • PushNotification.js 添加到 html ( <script type="text/javascript" src="js/PushNotification.js"></script> ) 中,位于 www/js/

但我仍然收到相同的消息“找不到类”

我已经安装了 PushPlugin 使用的设备、文件、媒体等支持插件

如果有人对此问题有解决方案,请指教。

代码示例:

document.addEventListener("deviceready", onDeviceReady, false);

var pushNotification;
function onDeviceReady() {
    //Push notification
    pushNotification = window.plugins.pushNotification;
    pushNotification.register(successHandler, errorHandler, {"senderID":"xxxxxxxxxx", "ecb":"onNotification"});
}

最佳答案

通过将 google play service 库添加到我的项目中,最终实现了此功能

要遵循的步骤:

  • ANDROID SDK 复制 google-play-services_lib 文件夹 /extras/google/google_play_services/libproject/ 到您的项目 myproject/platform/android 文件夹
  • 复制build.xml, local.properties & project.properties 文件从您的 myproject/platforms/android/CordovaLib 文件夹到 myproject/platforms/android/google-play-services_lib 文件夹<
  • 打开 project.properties 文件位于 myproject/platforms/android/google-play-services_lib 文件夹
  • 检查项目是否以 android 19 为目标,即 target=android-19,如果不是,则将其更改为 target=android-19
  • 打开 myproject/platform/android 文件夹中的 project.properties 并添加引用 2,如下所示, 目标=android-19 android.library.reference.1=CordovaLib android.library.reference.2=google-play-services_lib

  • 在 CLI 中,转到项目中的 google-play-services_lib 文件夹并运行

    android 更新项目 -p .

  • 后跟, Ant 调试 Ant 发布

  • 如果出现任何错误,请先运行 ant clean debug 然后再次运行 Ant 调试 Ant 发布

  • 在 CLI 中,转到 myproject/ 并使用 cordova build android 构建项目

从另一个 post 获得此信息,认为这对其他有类似问题的人有帮助。

关于android - PushPlugin 注册到 errorhandler 显示 'Class not found' 与 cordova 4.0.0 for android 平台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27165842/

相关文章:

android - 从横向旋转到纵向时,Phonegap/HTML5 和 Android 屏幕调整大小问题

parse-platform - parse.com – 以编程方式取消预定推送

java - 如何将 facebook 响应日期转换为 unix 时间戳

android - ionic 构建错误 : You have not accepted the license agreements of the following SDK components: [Android SDK Platform 24]

java - 切换内容 View 时信息不会保存

javascript - Angularjs $apply() 用于 $rootscope 变量?

ios - Cordova/Ionic iOS 应用程序在加载插件时卡在启动画面上

push-notification - 我可以从 Web 控制台编辑未发送/计划的解析推送通知吗?

ios - 在远程通知上打开正确的消息线程 - 带解析的 iOS Swift Chat 应用程序

android - 适用于 Android 的 Flickr Oauth