添加人行横道插件后 Phonegap 推送插件停止工作

Phonegap push plugin stopped working after added crosswalk plugin

我正在使用 Ionic 进行开发,我遇到了一个奇怪的问题,在我添加人行横道 webview 插件后,我的 phonegap 推送插件刚刚停止工作。

我得到了这个 "errors",如果我们可以这样称呼它们的话:

ionic.cloud.min.js:6 Native: deviceready did not fire within 2000ms. This can happen when plugins are in an inconsistent state. Try removing plugins from plugins/ and reinstalling them.
cordova.js:1223 deviceready has not fired after 5 seconds.
cordova.js:1216 Channel not fired: onCordovaInfoReady
cordova.js:1216 Channel not fired: onFileSystemPathsReady
ionic.cloud.min.js:6 Ionic Insights: Device information unavailable.
index.html#/login:1 Deferred long-running timer task(s) to improve scrolling smoothness. See crbug.com/574343.

而且它不再有效了。

这是我的 cordova 插件列表:

cordova plugins
cordova-plugin-compat 1.0.0 "Compat"
cordova-plugin-console 1.0.4 "Console"
cordova-plugin-crosswalk-webview 2.1.0 "Crosswalk WebView Engine"
cordova-plugin-device 1.1.3 "Device"
cordova-plugin-file 4.3.0 "File"
cordova-plugin-splashscreen 4.0.0 "Splashscreen"
cordova-plugin-statusbar 2.2.0 "StatusBar"
cordova-plugin-whitelist 1.3.0 "Whitelist"
ionic-plugin-keyboard 2.2.1 "Keyboard"
phonegap-plugin-push 1.9.0 "PushPlugin"

离子信息


Your system information:

Cordova CLI: 6.4.0
Ionic Framework Version: 1.3.1
Ionic CLI Version: 2.1.4
Ionic App Lib Version: 2.1.2
OS:
Node Version: v4.2.4

--------------------------------

所以基本上就是这样,没有 crosswalk 插件,phonegap 推送插件可以工作,有它就不行。

希望有人能帮助我,

谢谢!

--------------------编辑

经过一些尝试和错误后,我认为这与使用人行横道时的范围有关,因为 $ionicPush.register() 没有被触发。

$scope.$on("$ionicView.beforeEnter") 使用人行横道有什么变化?

这是否仍然有效或人行横道有自己的"beforeEnter",因为他是一个不同的网络视图。

使用 ionic 运行 附加控制台图像 android:

Working without crosswalk:

NOT Working with crosswalk:

如您在行中所见:

Ionic Push: saved push token: dJYMPT2lVW8:APA91bE1UyH6qKksGykcbOFNe_HXVQPvAfSR7PJx_F_BgKIriE5sXpBGJENJS8heqQg7TAyKNAjp5sRjseEFoYIoz72DOY9VGq1-4dkKMMq6cIkhvLSBmxfKz57XBaFClEsUXpNp_zc2

令牌没有在人行横道上注册,因为它没有人行横道。

我刚刚解决了我的问题,对于那些和我有同样问题的人,我需要将cordova降级到6.0.0并将插件推送到1.8.3。现在一切正常,希望这可以帮助某人。

  • 科尔多瓦 6.4.0
  • Android 平台 6
  • phonegap-plugin-push 1.9.0

同样的问题。为了解决这个问题,我需要将 Android 平台降级到 5.2.2,并将 phongap-plugin-push 降级到 1.8.3。

2.1.0 版的人行横道插件不适用于 cordova-android 6.0.0(包含在 cordova CLI 6.4.0 中)

您可以从 github 安装人行横道,而不是降级,它已经修复了

cordova plugin add https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview