我正在尝试使用cordova插件来访问本机安卓代码。
plugin.xml中
<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
id="com.appgyver.plugin.Echo"
version="1.0.0">
<name>EchoPlugin</name>
<description>
Echo Plugin for Steroids.js
</description>
<asset src="www/EchoPlugin.js" target="plugins/EchoPlugin.js" />
<engines>
<engine name="cordova" version=">=2.7.0" />
</engines>
<!-- android -->
<platform name="android">
<config-file target="res/xml/config.xml" parent="plugins">
<plugin name="Echo" value="com.appgyver.plugin.Echo"/>
</config-file>
<source-file src="src/android/com/appgyver/plugin/Echo.java"
target-dir="src/org/apache/cordova/plugin" />
</platform>
</plugin>
EchoPlugin.js
window.echo = function(str, callback) {
cordova.exec(callback, function(err) {
callback('Nothing to echo.');
}, "Echo", "echo", [str]);
};
Echo.java
package com.appgyver.plugin;
import org.apache.cordova.api.CordovaPlugin;
import org.apache.cordova.api.CallbackContext;
import org.apache.cordova.api.PluginResult;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
/** This class echoes a string called from JavaScript. **/
public class Echo 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) {
callbackContext.success(message);
} else {
callbackContext.error("Expected one non-empty string argument.");
}
}
}
我只是想在手机间隙项目中实现这个插件。但我不知道如何实现它。我是否需要为此插件创建一个单独的文件夹,然后将其嵌套在我的电话间隙项目的插件文件夹中,其中存在其他插件(inappbrowser,console,geolocation等)?请帮帮我。
我找到了许多编写cordova插件的教程,但问题是我不知道如何在项目中使用这些插件。显然,此代码已从其他站点复制。但是我想测试这个是如何工作的。 请提供指导。
答案 0 :(得分:0)
检查一下。也许你会错过加入 的 CORDOVA_PLUGIN.JS 强>
请为插件添加和创建单独的文件夹,以获得更好的代码标准。 检查这个如何添加cordova_plugin.js