任何人都可以建议我替代手机间隙网络工作者,因为我希望我的应用程序从Android 2.2成功运行到4.2。 据我所知,网络工作者支持4.0及以上版本。
我尝试使用Android Google云端消息,这种方式非常合适。 但我正在寻找手机间隙选项,而不是原生的Android选项。
答案 0 :(得分:2)
您可以尝试https://crosswalk-project.org,这样您就可以使用基于Chromium的Webview的现代版本并摆脱系统webview。这是一个英特尔项目,文档完整而简洁,它包含了许多如何在Apache Cordova中使用它的示例。
注意Web Workers API列为支持:https://crosswalk-project.org(以及WebRTC,WebGL或其他不那么闻所未闻的细节,如Web Notification API,它可以让您免除使用Cordova插件启动系统本机通知)。
Chrome团队还通过Crosswalk Webview制作了使用Cordova打包Chrome应用的工具:https://github.com/MobileChromeApps/mobile-chrome-apps
使用Crosswalk有一些警告。请参阅https://github.com/MobileChromeApps/mobile-chrome-apps/blob/master/docs/Crosswalk.md对我来说,更重要的是:"An increase of about 17MB in the size of the .apk file"
。根据应用类型(主要是因为它不是游戏),作为Android用户,我不会安装这么大的应用。
答案 1 :(得分:0)
您可以尝试使用inappbrowser和localStorage /'storage'事件的组合。
例如。您的index.html中可以运行后台进程,它将使用window.addEventListener('storage',函数回调,true / false)绑定'storage'的事件处理程序
当页面加载时,在隐藏s启动画面之前,使用指向ui.html(包含ui thread / html / css等)的window.open启动另一个浏览器实例,请确保将浏览器配置为全屏全屏隐藏工具/位置栏。
现在在ui.html javascript中,当您想要将数据发送到bg线程时,您只需在本地持久存储中创建它。 Ex localStorage.setItem('item',data);
现在一个事件应该在原始窗口(bg层)中触发,触发你的回调函数,该函数将传递一个事件对象,该对象包含(其他东西)更改的数据值。
如果您需要更详细的说明,请与我们联系。我在android 2.2 +
中使用了这个答案 2 :(得分:-1)
使用在Android上封装Google云端消息的推送通知插件https://build.phonegap.com/plugins/3