OnActivityResult со встроенным сканером - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть устройство Android со встроенным сканером штрих-кода.

При нажатии кнопки «Сканировать» на устройстве оно сканирует штрих-код и данные отображаются в EditText, только если курсор находится на EditText.то есть EditText выбран.

Я хочу получить отсканированный результат без выбранного EditText.

Я пробовал его с onActivityResult

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); }

Но я не получаюлюбые результаты по этому.Что я могу сделать?

Я не хочу нажимать кнопку, чтобы активировать сканер.

1 Ответ

0 голосов
/ 13 февраля 2019

Используя библиотеку ZXIng , вы можете запустить сканер как намерение и проанализировать результат.

import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;


public void onActivityResult(int requestCode, int resultCode, Intent intent){

    IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
    Context context = getApplicationContext();
    if (scanResult != null){
        String scanContent = scanResult.getContents();
        Toast toast = Toast.makeText(context, scanContent, 5000);
        toast.show();
    }
    else {
        Toast toast = Toast.makeText(context, "Error", 5000);
        toast.show();
    }
};

Это намерение запущено в течение одного из жизненных циклов android методы, такие как переопределение onCreate().

IntentIntegrator scanIntegrator = new IntentIntegrator(this);
scanIntegrator.initiateScan();
...