在过去的几个小时里,我一直在努力让它工作。我有科尔多瓦 2.2。
我创建了一个名为com.tester.newvideouri
.
我newVideoUri
在这个包中调用了一个类,内容如下
package com.tester.newvideouri;
import org.apache.cordova.api.CallbackContext;
import org.apache.cordova.api.CordovaPlugin;
import org.json.JSONArray;
import org.json.JSONException;
/**
* This class echoes a string called from JavaScript.
*/
public class newVideoUri 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) {
System.out.println("success here and display it");
if (message != null && message.length() > 0) {
callbackContext.success(message);
} else {
callbackContext.error("Expected one non-empty string argument.");
}
}
}
在我的config.xml
我添加了以下行:
<plugin name="Echo" value="com.tester.newvideouri.newVideoUri" />
在我的javascript
文件中,我有以下内容:
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
window.onDeviceReady = function() {
window.echo = function(str, callback) {
alert('Started');
cordova.exec(callback, function(err) {
callback('Nothing to echo.');
}, "Echo", "echo", [ str ]);
alert('The END');
};
window.echo("echome", function(echoValue) {
alert(echoValue == "echome"); // should alert true.
});
}
当我运行代码时没有任何反应。谁能告诉我我做错了什么?