背景
我正在开发一个必须作为服务运行的Cordova应用程序,即在后台继续并在设备运行时重新启动。据我所知,在iOS上只是一个正确设置UIBackgroundModes的情况,但在Android上需要更多的努力,需要明确启动服务。
我根据Mark Taylor的例子here开发了Android插件。
目前我在deviceready
上调用了一些JS来启动Android代码,但不需要为iOS做任何事情。
问题
我应该如何打包我的插件,以便它可以在零配置的所有平台上运行。在我的主JS中编写if (Device.type == 'android')
语句似乎很笨,但我真的不想编写本机的null实现。
是否有建议的方法?
答案 0 :(得分:1)
使用here描述的<js-module>
标记计算出来。
将此添加到我的plugin.xml
:
<platform name='android'>
...
<js-module src="androidSpecificStuff.js" name="SomeModule">
<clobbers target="SomeModule" />
</js-module>
...
</platform>
然后在androidSpecificStuff.js
中有如下代码:
document.addEventListener('deviceready', function () {
// do android-specific initialisation here
})