Skip to content

Commit

Permalink
新增设备
Browse files Browse the repository at this point in the history
  • Loading branch information
h11g committed Oct 16, 2019
1 parent 49b0dee commit 82a05ea
Show file tree
Hide file tree
Showing 2 changed files with 132 additions and 3 deletions.
13 changes: 10 additions & 3 deletions scanner/src/main/java/cn/guanmai/scanner/SupporterManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import android.view.KeyEvent;

import cn.guanmai.scanner.devices.jb.HT380KScannerManager;
import cn.guanmai.scanner.devices.newland.MT6210ScannerManager;
import cn.guanmai.scanner.devices.sg6900.SG6900ScannerManager;

public class SupporterManager<T extends IScannerManager> {
Expand All @@ -14,16 +15,16 @@ public class SupporterManager<T extends IScannerManager> {

/**
* SUNMI: 商米科技 L2 手持扫码设备
* ALPS: 直连天地的扫码 PDA, 型号 N2S000
* QCOM: 东大集成
* ALPS: 智联天地的扫码 PDA, 型号 N2S000
* SEUIC: 东大集成
* UBX: 优博讯
* 型号SG6900: 深圳市思感科技有限公司
* 型号HT380K: 深圳市捷宝科技有限公司
* 型号 NLS-MT6210,制造商 Newland
*/
public enum ScannerSupporter {
SUNMI("SUNMI"), alps("alps"), SEUIC("SEUIC"), UBX("UBX"), OTHER("OTHER"), idata("idata"), SG6900("SG6900"),
HT380K("HT380K");
HT380K("HT380K"), Newland("Newland"), MT6210("NLS-MT6210");

ScannerSupporter(String name) {
}
Expand All @@ -50,6 +51,12 @@ public SupporterManager(Context context, @NonNull IScanListener listener) {
case SEUIC:
scannerManager = (T) SEUICScannerManager.getInstance(context);
break;
case MT6210:
scannerManager = (T) MT6210ScannerManager.getInstance(context);
break;
case Newland:
scannerManager = (T) MT6210ScannerManager.getInstance(context);
break;
case UBX:
scannerManager = (T) UBXScannerManager.getInstance(context);
break;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
package cn.guanmai.scanner.devices.newland;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Handler;
import android.os.Looper;
import android.support.annotation.NonNull;
import android.view.KeyEvent;

import cn.guanmai.scanner.IScannerManager;
import cn.guanmai.scanner.SupporterManager;

public class MT6210ScannerManager implements IScannerManager {
private Handler handler = new Handler(Looper.getMainLooper());
private Context mContext;
private static MT6210ScannerManager instance;
private SupporterManager.IScanListener listener;
private static final String ACTION_DATA_CODE_RECEIVED = "nlscan.action.SCANNER_RESULT";
private static final String SCAN_ACTION = "nlscan.action.SCANNER_TRIG";
public static final String SETTING_ACTION = "ACTION_BAR_SCANCFG";
public static final String RESULT1 = "SCAN_BARCODE1";
public static final String RESULT2 = "SCAN_BARCODE2";
public static final String POWER_TAG = "EXTRA_SCAN_POWER";
public static final String SCAN_MODE_TAG = "EXTRA_SCAN_MODE";

private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, final Intent intent) {
handler.post(new Runnable() {
@Override
public void run() {
String code1 = intent.getStringExtra(RESULT1);
String code2 = intent.getStringExtra(RESULT2);
if (code1 != null && !code1.isEmpty()) {
listener.onScannerResultChange(code1);
} else if (code2 != null && !code2.isEmpty()) {
listener.onScannerResultChange(code2);
}
}
});
}
};

private MT6210ScannerManager(Context activity) {
this.mContext = activity;
}

public static MT6210ScannerManager getInstance(Context activity) {
if (instance == null) {
synchronized (MT6210ScannerManager.class) {
if (instance == null) {
instance = new MT6210ScannerManager(activity);
}
}
}
return instance;
}

@Override
public void init() {
Intent intent = new Intent(SETTING_ACTION);
intent.putExtra(POWER_TAG, 1);
intent.putExtra(SCAN_MODE_TAG, 3);
mContext.sendBroadcast(intent);
registerReceiver();
listener.onScannerServiceConnected();
}

@Override
public void recycle() {
mContext.unregisterReceiver(receiver);
}

@Override
public void setScannerListener(@NonNull SupporterManager.IScanListener listener) {
this.listener = listener;
}

@Override
public void sendKeyEvent(KeyEvent key) {

}

@Override
public int getScannerModel() {
return 0;
}

@Override
public void scannerEnable(boolean enable) {

}

@Override
public void setScanMode(String mode) {

}

@Override
public void setDataTransferType(String type) {

}

@Override
public void singleScan(boolean bool) {
Intent intent = new Intent(SCAN_ACTION);
mContext.sendBroadcast(intent);
}

@Override
public void continuousScan(boolean bool) {

}

private void registerReceiver() {
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(ACTION_DATA_CODE_RECEIVED);
mContext.registerReceiver(receiver, intentFilter);
}
}

0 comments on commit 82a05ea

Please sign in to comment.