如果从菜单调用活动,如何使用onActivityResult(..)

这是我的问题:

class main extends menuActivity{ // .. // public void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == 0) camera_barcode = INTENT.getStringExtra("SCAN_RESULT"); } } } 

INTENT是在menuActivity类中创build的:

 public class menuActivity extends Activity { public INTENT; @Override public boolean onCreateOptionsMenu(Menu menu) { } @Override public boolean onOptionsItemSelected(MenuItem item) { // INTENT = new Intent("com.google.zxing.client.android.SCAN"); INTENT.putExtra("SCAN_MODE", "QR_CODE_MODE"); startActivityForResult(INTENT, 0); // } } 

问题是,stringcamera_barcode是空的,不明白为什么。

问:如果不是QR_CODE_MODE,我想扫描一维条码? R:cameraScan.putExtra(“SCAN_MODE”,“PRODUCT_MODE”);

谢谢!!

Solutions Collecting From Web of "如果从菜单调用活动,如何使用onActivityResult(..)"

完成你正在开始的活动,像这样的结果

  Bundle b = new Bundle(); b.putString(key, value); Intent i = getIntent(); //gets the intent that called this intent i.putExtras(b); setResult(Activity.RESULT_OK, i); finish(); 

不要紧,你在哪里创造意图。 如果您使用了Activity的startActivityForResult()方法,那么您将在onActivityResult()函数中接收结果。