Я получил приложение для Android на основе 2 действий. Основное действие - это просто поле ввода и кнопка для получения информации о пользователе. Когда пользователь нажимает кнопку, запускается сканер штрих-кодов (ZXING).
Все работает отлично. Но знаете, я пытаюсь проверить в onCreate, если пользовательская информация уже известна. Если это правда -> запустить сканер штрих-кодов. Но похоже, что активность сканера штрих-кодов запускается дважды, потому что:
Нажмите кнопку «Назад» один раз: другой сканер штрих-кодов будет активен.
Двойное нажатие на кнопку «Назад»: основной актив будет активен.
это проверка внутри onCreate:
if(pref.length() == 6){
startActivityForResult(intent, 0);
}
и эта функция вызывается при нажатии кнопки:
public void onClick(View view) {
switch (view.getId()) {
case R.id.button1:
final EditText edit = (EditText) findViewById(R.id.panelID);
if(edit.getText().toString().length() == 6){
String temp = edit.getText().toString();
Log.e("click", temp);
Editor e = this.getPreferences(Context.MODE_PRIVATE).edit();
e.putString("panelID", temp);
e.commit();
startActivityForResult(intent, 0);
} else {
Toast.makeText(this, "Ongeldige invoer (6 cijfer id)", Toast.LENGTH_LONG).show();
}
break;
}
}
Что я делаю не так?