发送Zxing scanResult到另一个活动

问题描述:

我试过了一切,无论我能解决这个问题。最后,我在这里发布它来获得解决方案(Android的新功能)。发送Zxing scanResult到另一个活动

我制作了一个android扫描器应用程序,我正在使用ZXing开源代码。问题是扫描后我试图将扫描结果发送到另一个活动,但无法完成。

这里是我的代码:

public class MainActivity extends AppCompatActivity 
     implements ZXingScannerView.ResultHandler, NavigationView.OnNavigationItemSelectedListener { 

    private ZXingScannerView mScannerView; 
    private int CALL_SCANNER_APP; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 


    // Scan Button code 
    public void onClick(View v) { 
     ZXingScannerView mScannerView = new ZXingScannerView(this); 
     setContentView(mScannerView); 
     mScannerView.setResultHandler(this); 
     mScannerView.startCamera(); 
     //startActivityForResult(mScannerView1, CALL_SCANNER_APP); 
    } 

    @Override 
    protected void onPause(){ 
     super.onPause(); 
     mScannerView.stopCamera(); 
    } 
    @Override 
    public void handleResult(Result result) { 
     ResultActivity.tvresult.setText(result.getText()); 

     /*Log.w("handleReuslt", result.getText()); 
     AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setTitle("Scan Result"); 
     builder.setMessage(result.getText()); 
     AlertDialog alertDialog = builder.create(); 
     //alertDialog.show(); 

     builder.setPositiveButton("Result", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       Intent intent = new Intent(MainActivity.this, MainActivity.class); 
       startActivity(intent); 
      } 
     }); 
     builder.setNegativeButton("OK", null).show();*/ 
     //Resume Scanning 
     //mScannerView.resumeCameraPreview(this); 


    } 

还有就是一个方法,发送结果从一个活动到另一个活动是scanActivityForResult()但对我来说,我不使用上public void onClick(View v)

意图那么我该怎么办做到这一点。

谢谢!

+0

你在做什么? – Piyush

+0

不幸的是,应用程序已关闭!我很困惑。我可以将puclic void onClick()转换为意图吗? – rbashish

使用下面的代码进入按钮点击。

Intent intent = new Intent(SelectOptionActivity.this, CaptureActivity.class); 
       intent.putExtra("SCAN_MODE", "ONE_D_MODE"); 
       intent.putExtra("SCAN_FORMATS", "CODE_39,CODE_93,CODE_128,DATA_MATRIX,ITF,CODABAR,EAN_13,EAN_8,UPC_A,QR_CODE"); 
       intent.setAction(Intents.Scan.ACTION); 
       startActivityForResult(intent, 1); 

并重写此方法以获得扫描结果。

public void onActivityResult(int requestCode, int resultCode, Intent intent) { 
     if (requestCode == 1 && resultCode == RESULT_OK) { 
      final String contents = intent.getStringExtra(Intents.Scan.RESULT); 
      final String formatName = intent.getStringExtra(Intents.Scan.RESULT_FORMAT); 

     } 
    } 
+0

没有得到(SelectOptionActivity.this,CaptureActivity.class);还intent.setAction(Intents.Scan.ACTION); – rbashish

+0

Intent intent = new Intent(“your activity.this”,CaptureActivity.class); –