如何采取QR扫描结果,并把它变成一个字符串? [英] How to take the QR scanner result and make it into a string?

查看:159
本文介绍了如何采取QR扫描结果,并把它变成一个字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何走'这个'值(6号线),并把它变成一个字符串?

  @覆盖
保护无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.activity_qrscanner);
    片段=(酒吧codeFragment)getSupportFragmentManager()findFragmentById(R.id.sample)。
    fragment.setScanResultHandler(本);
    BTN =((按钮)findViewById(R.id.scan));
    btn.setEnabled(假);}

例如,而不是仅仅敬酒的价值,我可以使用的价值,使之成为一个字符串,然后将其携带到另一个活动。

  @覆盖
公共无效scanResult(ScanResult结果){
    btn.setEnabled(真);
    意向意图=新意图(QrscannerActivity.this,ProductInfoActivity.class);
    startActivity(意向);
    Toast.makeText(此,result.getRawResult()的getText(),Toast.LENGTH_LONG).show();}


解决方案

您应该使用谷歌ZXing酒吧code扫描仪库,以及低于code:

 延伸活动{
    @覆盖
    公共无效的onCreate(捆绑savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.main);
        HandleClick HC =新HandleClick();
        findViewById(R.id.butQR).setOnClickListener(HC);
        findViewById(R.id.butProd).setOnClickListener(HC);
        findViewById(R.id.butOther).setOnClickListener(HC);
    }
    私有类HandleClick实现OnClickListener {
        公共无效的onClick(查看为arg0){
        意向意图=新意图(com.google.zxing.client.android.SCAN);
        开关(arg0.getId()){
            案例R.id.butQR:
                intent.putExtra(SCAN_MODE,QR_ code_MODE);
                打破;
            案例R.id.butProd:
                intent.putExtra(SCAN_MODE,PRODUCT_MODE);
                打破;
            案例R.id.butOther:
                intent.putExtra(SCAN_FORMATS,code_39,code_93,code_128,DATA_MATRIX,ITF,CODABAR);
                打破;
        }
        startActivityForResult(意向,0); //酒吧code扫描仪来扫描我们
        }
    }
    公共无效的onActivityResult(INT申请code,INT结果code,意图意图){
        如果(要求code == 0){
            TextView的tvStatus =(的TextView)findViewById(R.id.tvStatus);
            TextView的tvResult =(的TextView)findViewById(R.id.tvResult);
            如果(结果code == RESULT_OK){
                tvStatus.setText(intent.getStringExtra(SCAN_RESULT_FORMAT));
                tvResult.setText(intent.getStringExtra(SCAN_RESULT));
            }否则如果(结果code == RESULT_CANCELED){
                tvStatus.setText(preSS按钮开始扫描。);
                tvResult.setText(扫描取消。);
            }
        }
    }
}

How do I take the 'this' value ( from the 6th line) and make it into a string?

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_qrscanner);
    fragment = (BarcodeFragment)getSupportFragmentManager().findFragmentById(R.id.sample);
    fragment.setScanResultHandler(this);
    btn = ((Button)findViewById(R.id.scan));
    btn.setEnabled(false);

}

For example instead of just toasting the value, can I use the value and make it into a string and then carrying it into another activity.

@Override
public void scanResult(ScanResult result) {
    btn.setEnabled(true);
    Intent intent = new Intent(QrscannerActivity.this,ProductInfoActivity.class);
    startActivity(intent);
    Toast.makeText(this, result.getRawResult().getText(), Toast.LENGTH_LONG).show();



}

解决方案

You should use the Google ZXing Barcode Scanner library and with the below code:

extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        HandleClick hc = new HandleClick();
        findViewById(R.id.butQR).setOnClickListener(hc);
        findViewById(R.id.butProd).setOnClickListener(hc);
        findViewById(R.id.butOther).setOnClickListener(hc);
    }    
    private class HandleClick implements OnClickListener{
        public void onClick(View arg0) {
        Intent intent = new Intent("com.google.zxing.client.android.SCAN");     
        switch(arg0.getId()){
            case R.id.butQR:
                intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
                break;
            case R.id.butProd:
                intent.putExtra("SCAN_MODE", "PRODUCT_MODE");
                break;
            case R.id.butOther:
                intent.putExtra("SCAN_FORMATS", "CODE_39,CODE_93,CODE_128,DATA_MATRIX,ITF,CODABAR");
                break;
        }
        startActivityForResult(intent, 0);  //Barcode Scanner to scan for us
        }
    }
    public void onActivityResult(int requestCode, int resultCode, Intent intent) {
        if (requestCode == 0) {
            TextView tvStatus=(TextView)findViewById(R.id.tvStatus);
            TextView tvResult=(TextView)findViewById(R.id.tvResult);
            if (resultCode == RESULT_OK) {
                tvStatus.setText(intent.getStringExtra("SCAN_RESULT_FORMAT"));
                tvResult.setText(intent.getStringExtra("SCAN_RESULT"));
            } else if (resultCode == RESULT_CANCELED) {
                tvStatus.setText("Press a button to start a scan.");
                tvResult.setText("Scan cancelled.");
            }
        }
    }
}

这篇关于如何采取QR扫描结果,并把它变成一个字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆