【发布时间】:2025-12-11 16:25:02
【问题描述】:
我正在尝试使用cordova 插件来访问本机android 代码。
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.");
}
}
}
我只是想在 phone-gap 项目中实现这个插件。但我不知道如何实现它。我是否需要为此插件创建一个单独的文件夹,然后将其嵌套在我的 phone-gap 项目的 plugins 文件夹下,其中存在其他插件(inappbrowser、console、geolocation 等)?请帮帮我。
我找到了很多编写 cordova 插件的教程,但问题是我不知道如何在项目中使用这些插件。显然,此代码已从另一个站点复制。但我想测试这个到底是如何工作的。 请提供指导。
【问题讨论】:
-
您是否在 config.xml 文件中添加了您的插件?
-
是的,我已经在 MyProject\platforms\android\res\xml\ 下的 config.xml 中添加了这个插件
标签: android cordova phonegap-plugins native-code cordova-plugins