|
@@ -48,6 +48,9 @@ import com.tencent.smtt.sdk.WebSettings;
|
|
import com.tencent.smtt.sdk.WebView;
|
|
import com.tencent.smtt.sdk.WebView;
|
|
import com.tencent.smtt.sdk.WebViewClient;
|
|
import com.tencent.smtt.sdk.WebViewClient;
|
|
|
|
|
|
|
|
+import net.posprinter.IConnectListener;
|
|
|
|
+import net.posprinter.IDeviceConnection;
|
|
|
|
+import net.posprinter.POSConnect;
|
|
import net.posprinter.TSPLConst;
|
|
import net.posprinter.TSPLConst;
|
|
import net.posprinter.TSPLPrinter;
|
|
import net.posprinter.TSPLPrinter;
|
|
|
|
|
|
@@ -84,6 +87,7 @@ public class MainActivity extends BaseActivity {
|
|
private LinearLayout ll_web;
|
|
private LinearLayout ll_web;
|
|
|
|
|
|
private Button printBtn;
|
|
private Button printBtn;
|
|
|
|
+ private Button connectBtn;
|
|
|
|
|
|
private TSPLPrinter printer;
|
|
private TSPLPrinter printer;
|
|
|
|
|
|
@@ -102,8 +106,6 @@ public class MainActivity extends BaseActivity {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
protected void initView() {
|
|
protected void initView() {
|
|
- printer = new TSPLPrinter(BaseApplication.getApplication().curConnect);
|
|
|
|
-
|
|
|
|
ll_nonet = findViewById(R.id.ll_nonet);
|
|
ll_nonet = findViewById(R.id.ll_nonet);
|
|
ll_web = findViewById(R.id.ll_web);
|
|
ll_web = findViewById(R.id.ll_web);
|
|
mWebView = findViewById(R.id.webview);
|
|
mWebView = findViewById(R.id.webview);
|
|
@@ -247,6 +249,13 @@ public class MainActivity extends BaseActivity {
|
|
startPrint2(data);
|
|
startPrint2(data);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
+ connectBtn = findViewById(R.id.connect);
|
|
|
|
+ connectBtn.setOnClickListener(new View.OnClickListener() {
|
|
|
|
+ @Override
|
|
|
|
+ public void onClick(View v) {
|
|
|
|
+ connectUSB(searchUsb());
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
|
|
findViewById(R.id.take_photo).setOnClickListener(new View.OnClickListener(){
|
|
findViewById(R.id.take_photo).setOnClickListener(new View.OnClickListener(){
|
|
@Override
|
|
@Override
|
|
@@ -366,6 +375,18 @@ public class MainActivity extends BaseActivity {
|
|
Log.e(TAG, "closeCamera");
|
|
Log.e(TAG, "closeCamera");
|
|
toCloseCamera();
|
|
toCloseCamera();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @JavascriptInterface
|
|
|
|
+ public void openPrinter() {
|
|
|
|
+ Log.e(TAG, "openPrinter");
|
|
|
|
+ connectUSB(searchUsb());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @JavascriptInterface
|
|
|
|
+ public void closePrinter() {
|
|
|
|
+ Log.e(TAG, "closePrinter");
|
|
|
|
+ closeUSB();
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
private void toCloseCamera() {
|
|
private void toCloseCamera() {
|
|
@@ -1008,6 +1029,65 @@ public class MainActivity extends BaseActivity {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ IDeviceConnection curConnect = null;
|
|
|
|
+ private void connectUSB(String pathName){
|
|
|
|
+ if (curConnect!=null){
|
|
|
|
+ curConnect.close();
|
|
|
|
+ }
|
|
|
|
+ curConnect = POSConnect.createDevice(POSConnect.DEVICE_TYPE_USB);
|
|
|
|
+ curConnect.connect(pathName, connectListener);
|
|
|
|
+ printer = new TSPLPrinter(curConnect);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public String searchUsb() {
|
|
|
|
+ List<String> usbNames = POSConnect.getUsbDevices(this);
|
|
|
|
+// XToast.showToast("usbNames="+usbNames.size());
|
|
|
|
+ String ret = "";
|
|
|
|
+ if (usbNames.size()>0) {
|
|
|
|
+ ret = usbNames.get(0);
|
|
|
|
+ }
|
|
|
|
+ Log.e("-------->","------>ret="+ret);
|
|
|
|
+ return ret;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void closeUSB() {
|
|
|
|
+ if (curConnect!=null){
|
|
|
|
+ curConnect.close();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private IConnectListener connectListener = new IConnectListener() {
|
|
|
|
+ @Override
|
|
|
|
+ public void onStatus(int code, String connInfo, String msg) {
|
|
|
|
+ switch (code){
|
|
|
|
+ case POSConnect.CONNECT_SUCCESS:
|
|
|
|
+ Log.e("-------->","------>CONNECT_SUCCESS");
|
|
|
|
+ mWebView.loadUrl("javascript:printerCode('1')");
|
|
|
|
+ break;
|
|
|
|
+ case POSConnect.CONNECT_FAIL:
|
|
|
|
+ Log.e("-------->","------>CONNECT_FAIL");
|
|
|
|
+ mWebView.loadUrl("javascript:printerCode('2')");
|
|
|
|
+ break;
|
|
|
|
+ case POSConnect.CONNECT_INTERRUPT:
|
|
|
|
+ Log.e("-------->","------>CONNECT_INTERRUPT");
|
|
|
|
+ mWebView.loadUrl("javascript:printerCode('3')");
|
|
|
|
+ break;
|
|
|
|
+ case POSConnect.SEND_FAIL:
|
|
|
|
+ Log.e("-------->","------>SEND_FAIL");
|
|
|
|
+ mWebView.loadUrl("javascript:printerCode('4')");
|
|
|
|
+ break;
|
|
|
|
+ case POSConnect.USB_DETACHED:
|
|
|
|
+ Log.e("-------->","------>USB_DETACHED");
|
|
|
|
+ mWebView.loadUrl("javascript:printerCode('5')");
|
|
|
|
+ break;
|
|
|
|
+ case POSConnect.USB_ATTACHED:
|
|
|
|
+ Log.e("-------->","------>USB_ATTACHED");
|
|
|
|
+ mWebView.loadUrl("javascript:printerCode('6')");
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ };
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
protected void onDestroy() {
|
|
protected void onDestroy() {
|
|
super.onDestroy();
|
|
super.onDestroy();
|