Intereting Posts
Android: windowSoftInputMode = "stateVisible" не работает Как получить представление о содержании активности? Растровое изображение из TextView (getDrawingCache) всегда равно нулю Скрытие контруктивной панели действий при открытии навигационного ящика Переопределите модуль кинжала в Robolectric Tests Android Computer Vision Сравнение JavaCV OpenCV FastCV SDK Samsung Pass (fingerprint) – не может использовать пароль как резерв на устройствах Galaxy 6 Использование Non-Production Activity для тестирования с Android Studio Android-стили: разница между «style =» @ android: style / XYZ »и« style = »? Android: attr / XYZ? Программно отключить android: windowActionBarOverlay стиль из панели действий Что такое андроид, относящийся к CADisplayLink (iOS) или CompositionTarget (WP) Ответ на голосовое управление Android Volley JSONArray Как построить только single buildType с Android Studio и / или Gradle Как сделать прокручиваемый список андроидов? Показать GIF-файл с помощью Glide (библиотека загрузки изображений и кеширования)

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