Как использовать 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:

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

Проблема в том, что String camera_barcode имеет значение null, непонятно почему.

Q: Если вместо QR_CODE_MODE я хочу сканировать 1d штрих-коды? 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(); 

Неважно, где вы создаете намерение. Если вы использовали метод startActivityForResult() , то вы получите результаты в функции onActivityResult() .