如果从菜单调用活动,如何使用 onActivityResult(..) [英] how to use onActivityResult(..) if the activity is called from a menu

查看:21
本文介绍了如果从菜单调用活动,如何使用 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 类中创建的:

the INTENT is created in the menuActivity class:

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_barcode为空,不明白为什么.

The problem is that the String camera_barcode is null, can't understand why.

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

Q: if instead of QR_CODE_MODE I want to scan 1d barcodes? R: cameraScan.putExtra("SCAN_MODE", "PRODUCT_MODE");

谢谢!!

推荐答案

完成你开始的活动以获得这样的结果

Finish the activity you are starting for result like this

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

这篇关于如果从菜单调用活动,如何使用 onActivityResult(..)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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