设为首页添加收藏

您好! 欢迎访问PDA导购网,最专业的选型咨询网站

选型/技术疑问留言(请点击进入留言界面)

微信
扫码关注官方微信
电话:15016095220

您的位置:首页>>技术文章>>优博讯售后
优博讯售后

优博讯I6300A/I6200S手持终端广播获取条码(二次开发)

发布日期:2020-05-16 来源: 本站 阅读量(23790


优博讯I6300A/I6200S手持终端都自带了输出到焦点编辑框的插件,但是总是容易就扫描到错误的输入框,每次都要调整光标到正确的位置,所以广播获取,避免出错。
红色部分为广播获取扫描的条码的主要代码,具体下载:优博讯I6300A/I6200S手持终端SDK二次开发包


public class MainActivity extends Activity {

    private final static String SCAN_ACTION = "urovo.rcv.message";//扫描结束action
    
    private EditText showScanResult;
    private Button btn;
    private Button mScan;
    private Button mClose;
    private int type;
    private int outPut;
    
    private Vibrator mVibrator;
    private ScanManager mScanManager;
    private SoundPool soundpool = null;
    private int soundid;
    private String barcodeStr;
    private boolean isScaning = false;
    private BroadcastReceiver mScanReceiver = new BroadcastReceiver() {

        @Override
        public void onReceive(Context context, Intent intent) {
            // TODO Auto-generated method stub
            isScaning = false;
            soundpool.play(soundid, 1, 1, 0, 0, 1);
            showScanResult.setText("");
            mVibrator.vibrate(100);

            byte[] barcode = intent.getByteArrayExtra("barocode");    
            int barocodelen = intent.getIntExtra("length", 0);
            byte temp = intent.getByteExtra("barcodeType", (byte) 0);
            android.util.Log.i("debug", "----codetype--" + temp);
            barcodeStr = new String(barcode, 0, barocodelen);


            showScanResult.setText(barcodeStr);

        }

    };
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        Window window = getWindow();
        window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        setContentView(R.layout.activity_main);
        mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
        setupView();
        
    }

    private void initScan() {
        // TODO Auto-generated method stub
        mScanManager = new ScanManager();
        mScanManager.openScanner();
      
        mScanManager.switchOutputMode( 0);
        soundpool = new SoundPool(1, AudioManager.STREAM_NOTIFICATION, 100); // MODE_RINGTONE
        soundid = soundpool.load("/etc/Scan_new.ogg", 1);
    }

    private void setupView() {
        // TODO Auto-generated method stub
        showScanResult = (EditText) findViewById(R.id.scan_result);
        btn = (Button) findViewById(R.id.manager);
        btn.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                if(mScanManager.getTriggerMode() != Triggering.CONTINUOUS)
                    mScanManager.setTriggerMode(Triggering.CONTINUOUS);
            }
        });
        
        mScan = (Button) findViewById(R.id.scan);
        mScan.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                //if(type == 3)
                    mScanManager.stopDecode();
                    isScaning = true;
                    try {
                        Thread.sleep(100);
                    } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    mScanManager.startDecode();
            }
        });
        
        mClose = (Button) findViewById(R.id.close);
        mClose.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
               // if(isScaning) {
                  //  isScaning = false;
                    mScanManager.stopDecode();
                //}
            }
        });
        
        //btn.setVisibility(View.GONE);
        
    }
    
    @Override
    protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
    }

    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        if(mScanManager != null) {
            mScanManager.stopDecode();
            isScaning = false;
        }
        unregisterReceiver(mScanReceiver);
    }

    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        initScan();
        showScanResult.setText("");
        IntentFilter filter = new IntentFilter();
        filter.addAction(SCAN_ACTION);
        registerReceiver(mScanReceiver, filter);
    }

    @Override
    protected void onStart() {
        // TODO Auto-generated method stub
        super.onStart();
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        // TODO Auto-generated method stub
        return super.onKeyDown(keyCode, event);
    }

}


了解优博讯6300A手持终端参数

了解优博讯6200S手持终端参数



优博讯手持终端,优博讯PDA手持机,urovo手持机,欢迎咨询PDA导购网!

商米安卓手持收银机POS机、商米单屏/双屏收银机、自助收银机,欢迎咨询PDA导购网

PDA导购网(www.pdadaogou.com)专业的条码手持终端、工业级PDARFID手持机选型导购网站!

条码手持终端、盘点机,RFID手持终端,安卓PDA选型,请联系PDA导购网免费给您推荐最合适的手持终端!

联系方式:柳工    手机(微信同号):15016095220    备注:PDA导购网



分享到

新浪微博

分享到

朋友圈

分享到

QQ空间