Java 将结果发送到另一个活动

Java 将结果发送到另一个活动,java,android,opencv,zxing,Java,Android,Opencv,Zxing,为了解决这个问题,我已经尽了一切努力。最后,我把它发布在这里,以获得一个解决方案(Android的新功能) 我已经做了一个android扫描仪应用程序,我正在使用ZXing开源代码。问题是扫描后,我试图将扫描结果发送到另一个活动,但无法执行 这是我的密码: public class MainActivity extends AppCompatActivity implements ZXingScannerView.ResultHandler, NavigationView.OnN

为了解决这个问题,我已经尽了一切努力。最后,我把它发布在这里,以获得一个解决方案(Android的新功能)

我已经做了一个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(视图v)

那么我该如何做到这一点呢


谢谢

使用下面的代码点击按钮

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);

        }
    }

你得到了什么?不幸的是,应用程序已经关闭!我很困惑。我可以将puclic void onClick()转换为Intent吗?未获取(选择optionActivity.this,CaptureActivity.class);还有intent.setAction(Intents.Scan.ACTION);意向意向=新意向(“您的activity.this”,CaptureActivity.class);
in handleDecodeInternally you directly intent the Capture Activity to desired Activity

private void handleDecodeInternally(Result rawResult, ResultHandler resultHandler, Bitmap barcode) {

maybeSetClipboard(resultHandler);

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);



if (resultHandler.getDefaultButtonID() != null && prefs.getBoolean(PreferencesActivity.KEY_AUTO_OPEN_WEB, false)) {
  resultHandler.handleButtonPress(resultHandler.getDefaultButtonID());
  return;
}

statusView.setVisibility(View.GONE);
viewfinderView.setVisibility(View.GONE);
resultView.setVisibility(View.GONE);


  Intent intent = new Intent(CaptureActivity.this, AfterCaptureActivity.class);
  startActivity(intent);
  finish();