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

Android 如果从菜单调用活动,如何使用onActivityResult(..),android,android-activity,menu,android-intent,barcode,Android,Android Activity,Menu,Android Intent,Barcode,这是我的问题: class main extends menuActivity{ // .. // public void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == 0) camera_barcode = INTENT.getStringExtra("SCAN_RESULT"); } } } 该意图是在menuAc

这是我的问题:

class main extends menuActivity{
  //
  ..
  //
  public void onActivityResult(int requestCode, int resultCode, Intent data) {
     if (resultCode == 0) 
        camera_barcode = INTENT.getStringExtra("SCAN_RESULT");
     }
  }
}
该意图是在menuActivity类中创建的:

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);
       //
    }
} 
问题是字符串camera_条形码为空,无法理解原因

问:如果我想扫描一维条形码而不是二维码模式? R:cameraScan.putExtra(“扫描模式”、“产品模式”)


谢谢

在哪里创建意图并不重要。如果您使用了Activity的
startActivityForResult()
方法,那么您将在
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();

嗨,谢谢你的回答!我在MenuActivity类中定义了一个公共意图,现在一切似乎都正常了。唯一的问题是ZXing返回的意图为null:/这是我的代码:public void on activityresult(int requestCode,int resultCode,intent data){if(requestCode==0){if(resultCode==RESULT\u OK){String camera\u barcode=cameraScan.getStringExtra(“扫描结果”);…}字符串camera_条形码总是空的我可以在问题中看到你的代码。所以你基本上收到结果,但意图是空的?你应该用这些信息更新你的问题。我通常使用常量Activity.result_OK而不是random 222.Activity.result_OK=-1:D回忆一下,我说过oAR()将为每个正整数调用:D@NikolaDespotoski,您对文档的理解是错误的。它说请求代码是非负的,而不是结果代码。因此使用
Activity.result\u OK
表示
setResult()
。但是如果您调用
startActivityForResult(intent,-1)
,则不会调用
onActivityResult()
。事实上,我的错误,我混合了结果和请求,一时心烦意乱。:d此链接适合您