我正在使用条形码扫描程序插件,扫描条形码工作正常,但我在编码扫描条形码时面临问题。我得到的所有条形码同样的事情“无法对提供的数据中的条形码进行编码。“
IM从JS文件中调用插件类。
function encodeData() {
console.log('encodeData');
var datatype11 ={"data":scandata,"type":typedata};
console.log(datatype11);
if (datatype11 != '') {
cordova.exec(encodeDataSuccess, encodeDataFailure, "BarcodeScanner",
"encodeData", [ datatype11 ]);
} else {
alert("Please enter some data.");
return false;
}
}
在Java插件类
中public boolean execute(String action, JSONArray args, CallbackContext callbackContext) {
this.callbackContext = callbackContext;
if (action.equals(ENCODE)) {
JSONObject obj = args.optJSONObject(0);
if (obj != null) {
String type = obj.optString(TYPE);
String data = obj.optString(DATA);
System.out.println("type"+type+"data"+data);
// If the type is null then force the type to text
if (type == null) {
type = TEXT_TYPE;
}
if (data == null) {
callbackContext.error("User did not specify data to encode");
return true;
}
encode(type, data);
} else {
callbackContext.error("User did not specify data to encode");
return true;
}