我在我的Android应用程序中使用cordova,我想使用我的自定义插件。 但我收到错误 - exec()调用未知插件
这是我的HTML
文件。
function callNativePlugin( returnSuccess ) {
HelloPlugin.callNativeFunction( nativePluginResultHandler, nativePluginErrorHandler, returnSuccess );
}
function nativePluginResultHandler (result) {
alert("SUCCESS: \r\n"+result );
}
function nativePluginErrorHandler (error) {
alert("ERROR: \r\n"+error );
}
function newCall(){
alert("function ready");
window.echo = function(str, callback) {
cordova.exec(callback, function(err) {
callback('Nothing to echo.');
}, "HelloPlugin", "echo", [str]);
};
window.echo("echome", function(echoValue) {
alert(echoValue == "echome"); // should alert true.
});
}
</script>
</head>
<body onload="onLoad()">
<button onclick="newCall();">Click to invoke the Native Plugin with an SUCCESS!</button>
<button onclick="callNativePlugin('error');">Click to invoke the Native Plugin with an ERROR!</button>
</body>
这是我的js
文件
var HelloPlugin = {
callNativeFunction: function (success, fail, resultType) {
return cordova.exec(success, fail, "com.webview.HelloPlugin", "HelloPlugin", [resultType]);
}
};
插件java
文件
public class HelloPlugin extends CordovaPlugin {
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
Log.i("Log msg","Log msg");
return false;
}
}
我的Config.js
文件
<feature name="HelloPlugin">
<param name="com.webview.HelloPlugin" value="com.ecsoftware.HelloPlugin" />
</feature>
答案 0 :(得分:2)
您的config.xml
应如下所示:
<feature name="com.webview.HelloPlugin">
<param name="android-package" value="com.ecsoftware.HelloPlugin" />
</feature>
另请注意,这是config.xml
文件夹中的res/xml/
文件(而不是www
文件夹中的文件)。