第一步:新增一个插件文件(VodePlugin.java),代码如下:
package
com.adobe.phonegap;//这个是我的工程包名
import
org.apache.cordova.api.CallbackContext;
import
org.apache.cordova.api.CordovaInterface;
import
org.apache.cordova.api.CordovaPlugin;
import
org.json.JSONArray;
import
org.json.JSONException;
import
android.content.pm.PackageInfo;
import
android.content.pm.PackageManager;
import
android.content.pm.PackageManager.NameNotFoundException;
import
android.util.Log;
import
android.widget.Toast;
public
class VodePlugin extends CordovaPlugin {
@Override
public
boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
if
(action.equals("echo")) {
String
message = args.getString(0);
this.echo(message,
callbackContext);
return
true;
}
return
false;
}
private
void echo(String message, CallbackContext callbackContext) {
if
(message != null && message.length() > 0) {
PackageManager
manager = this.cordova.getActivity().getPackageManager();
try
{
PackageInfo
info = manager.getPackageInfo(this.cordova.getActivity().getPackageName(), 0);
message
= info.versionName;
}
catch (NameNotFoundException e) {
//
TODO Auto-generated catch block
e.printStackTrace();
}
callbackContext.success(message);
}
else {
callbackContext.error("Expected
one non-empty string argument.");
}
}
}
第二步:在配置文件里面添加插件(xml文件夹下面的config.xml)
<plugin
name="VodePlugin" value="com.adobe.phonegap.VodePlugin"/>
其中com.adobe.phonegap
是我的项目的包名,要修改成自己项目的包名
第三步:在HTML页面调用插件
document.addEventListener("deviceready",
onDeviceReady, false);
function
onDeviceReady() {
cordova.exec(function
(result) {//调用插件成功
//result即使获取得到的版本信息
},
function (error) {//调用插件失败
},
"VodePlugin", "echo", ["版本信息", 200]);
}
|