在使用cordova开发android中,有的功能需要实现为一个服务。即在app运行时,服务保持在后台运行。比如,蓝牙连接,网络连接,数据传输,或者耗时的任务,就不能只在接口调用的时候处理,而是需要在单独运行很长或整个app生命周期内运行,这个时候我们就需要把这部分功能作为一个Android服务。
上次介绍了开发一个简单的cordova插件,(开发简单cordova插件的地址如下:http://blog.csdn.net/robert_cysy/article/details/53608451)这个是简绍在cordova插件里面包含一个Android服务的方法,其中服务被放置在jar文件里。(服务打包成jar在我的另一篇文文章里有简绍地址如下:http://blog.csdn.net/robert_cysy/article/details/53790708)
这次是在之前的工程里添加新的功能与文件:当然本文依然会介绍每个细节。
一个插件包含三部分内容:
1 plugin.xml文件的编写
2 www目录下js接口文件的编写
3 src目录下对应平台实现代码的编写
一、首先介绍plugin.xml文件编写:
<?xml version="1.0"encoding="UTF-8"?>
<plugin xmlns:android="http://schemas.android.com/apk/res/android" xmlns="http://apache.org/cordova/ns/plugins/1.0"version="0.0.1"id="com.haha.myEcho"><name>myEcho</name><description>This plugin wraps the Cloud ServiceSDK.</description><js-module src="www/myEcho.js" name="myEcho"><clobberstarget="Rayleigh.myEcho"/></js-module><platform name="android"><config-filetarget="res/xml/config.xml"parent="/*"><featurename="myEcho"><param name="android-package" value="com.haha.myEcho.myEcho"/></feature></config-file><config-file target="AndroidManifest.xml" parent="/manifest">
<!-- put uses-permission here -->
</config-file><config-file target="AndroidManifest.xml" parent="/manifest/application"><serviceandroid:name="com.rayleigh.cloud.CloudService" android:process=":remote"><intent-filter><action android:name="com.rayleigh.cloud.CloudService"/></intent-filter></service></config-file></