单个平台的Cordova插件应如何打包?

时间:2013-09-04 08:25:26

标签: plugins cordova

背景

我正在开发一个必须作为服务运行的Cordova应用程序,即在后台继续并在设备运行时重新启动。据我所知,在iOS上只是一个正确设置UIBackgroundModes的情况,但在Android上需要更多的努力,需要明确启动服务。

我根据Mark Taylor的例子here开发了Android插件。

目前我在deviceready上调用了一些JS来启动Android代码,但不需要为iOS做任何事情。

问题

我应该如何打包我的插件,以便它可以在零配置的所有平台上运行。在我的主JS中编写if (Device.type == 'android')语句似乎很笨,但我真的不想编写本机的null实现。

是否有建议的方法?

1 个答案:

答案 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  
})