添加is connect方法

This commit is contained in:
范大德 2023-10-10 12:07:01 +08:00
parent 50c40589c9
commit 9a78c731de
2 changed files with 70 additions and 65 deletions

View File

@ -38,9 +38,7 @@ import java.util.Set;
public class JcPrinter extends CordovaPlugin {
private static final String TAG = "MainActivity";
private static final String RB_THERMAL = "热转印";
private Context context;
private static final String TAG = "JcPrinter";
private Method[] methods = Util.getInstance().getClass().getDeclaredMethods();
@ -82,7 +80,8 @@ public class JcPrinter extends CordovaPlugin {
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
System.out.println("action = " + action);
try{
Log.d(TAG,"action = " + action);
switch (action) {
case "print":
this.print(args, callbackContext);
@ -113,7 +112,8 @@ public class JcPrinter extends CordovaPlugin {
methodArgs[i] = obj;
}
for(Method m:this.methods){
if(m.getName() == methodName){
String name = m.getName();
if(m.getName().equals(methodName)){
try {
m.invoke(Util.getInstance(),methodArgs);
callbackContext.success();
@ -127,6 +127,9 @@ public class JcPrinter extends CordovaPlugin {
callbackContext.success(new String(Util.getInstance().generateLabelJson()));
return true;
}
}catch (Exception e){
callbackContext.error(e.getMessage());
}
return false;
}
@ -136,11 +139,9 @@ public class JcPrinter extends CordovaPlugin {
*/
private void print(JSONArray args, CallbackContext callbackContext) {
JSONArray data = args.optJSONArray(0);
JSONArray jsonInfo = args.optJSONArray(1);
List<String>info = new ArrayList<>();
for(int i=0;i<jsonInfo.length();i++){
info.add(jsonInfo.optString(i));
}
String infoStr = args.optString(1);
List<String> info = new ArrayList<>();
info.add(infoStr);
//重置错误状态变量
isError = false;
//重置取消打印状态变量
@ -178,6 +179,7 @@ public class JcPrinter extends CordovaPlugin {
}
@Override
public void onError(int i) {
callbackContext.error(i);
@ -344,6 +346,9 @@ public class JcPrinter extends CordovaPlugin {
private void connectPrinter(JSONArray args, CallbackContext callbackContext) throws JSONException {
JSONObject obj = args.getJSONObject(0);
String address = obj.getString("address");
if(Util.isConnection() == 0){
Util.close();
}
int connectResult = Util.openPrinter(address);
cordova.getActivity().runOnUiThread(() -> {
String hint = "";
@ -378,10 +383,10 @@ public class JcPrinter extends CordovaPlugin {
int blueTooth_admin_permission = ContextCompat.checkSelfPermission(cordova.getContext(), Manifest.permission.BLUETOOTH_ADMIN);
int blueTooth_privileged_permission = ContextCompat.checkSelfPermission(cordova.getContext(), Manifest.permission.BLUETOOTH_PRIVILEGED);
int blueTooth_connect_permission = ContextCompat.checkSelfPermission(cordova.getContext(), "android.permission.BLUETOOTH_CONNECT");
System.out.println("blueTooth_permission = " + blueTooth_permission);
System.out.println("blueTooth_admin_permission = " + blueTooth_admin_permission);
System.out.println("blueTooth_privileged_permission = " + blueTooth_privileged_permission);
System.out.println("blueTooth_connect_permission = " + blueTooth_connect_permission);
Log.d(TAG,"blueTooth_permission = " + blueTooth_permission);
Log.d(TAG,"blueTooth_admin_permission = " + blueTooth_admin_permission);
Log.d(TAG,"blueTooth_privileged_permission = " + blueTooth_privileged_permission);
Log.d(TAG,"blueTooth_connect_permission = " + blueTooth_connect_permission);
if (blueTooth_permission == PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(cordova.getActivity(), new String[]{Manifest.permission.BLUETOOTH}, 1001);
}
@ -414,7 +419,7 @@ public class JcPrinter extends CordovaPlugin {
} catch (Exception e) {
System.err.println(e.getMessage());
}
System.out.println("printers = " + printers);
Log.d(TAG,"printers = " + printers);
callbackContext.success(printers);
return printers;
}

View File

@ -26,22 +26,22 @@ var exec = require('cordova/exec');
* @param {*} success
* @param {*} error
*/
exports.print = function (data,info, success, error) {
exec(success, error, 'JcPrinter', 'print', [data,info]);
exports.print = async function (data,info) {
return new Promise((resolve, reject) => exec(resolve,reject, 'JcPrinter', 'print', [data,info]));
};
exports.getList = function (arg0, success, error) {
exec(success, error, 'JcPrinter', 'getList', [arg0]);
exports.getList = function (arg0) {
return new Promise((resolve, reject) => exec(resolve,reject, 'JcPrinter', 'getList', [arg0]));
};
exports.connectPrinter = function (arg0, success, error) {
exec(success, error, 'JcPrinter', 'connectPrinter', [arg0]);
exports.connectPrinter = function (arg0) {
return new Promise((resolve, reject) => exec(resolve,reject,'JcPrinter', 'connectPrinter', [arg0]));
}
exports.connectPrinter = function (success, error) {
exec(success, error, 'JcPrinter', 'connectPrinter');
}
exports.isConnection = function (arg0) {
return new Promise((resolve, reject) => exec(resolve,reject,'JcPrinter', 'isConnection', [arg0]));
}
exports.Instance = {
/**