Проблема интеграции ZXing через намерение

1

Ну, я пытаюсь реализовать интеграцию zxing с моим Android-приложением. В моем приложении есть MainActivity. В этой MainActivity я использую кнопку для выполнения первого блока кода ниже. Но каждый раз, когда выполняется первый блок кода и приложение, читайте QR-код, я получаю в качестве resultCode значение RESULT_CANCELED во втором блоке. Второй блок выполняется, как только открывается активность ZXing. Что я делаю неправильно?

Первый блок кода

Intent intent1 = new Intent("com.google.zxing.client.android.SCAN");
    intent1.setPackage("com.google.zxing.client.android");
    intent1.putExtra("SCAN_MODE", "ONE_D_MODE");
    startActivityForResult(intent1, 0);

Второй блок кода

public void onActivityResult(int requestCode, int resultCode, Intent intent2) {
    if (requestCode == 0) {
        if (resultCode == RESULT_OK) {
            String contents2 = intent2.getStringExtra("SCAN_RESULT");
            String format2 = intent2.getStringExtra("SCAN_RESULT_FORMAT");
            EditText assetMon1 = (EditText) findViewById(R.id.assetMon1);
            assetMon1.setText(contents2);
        } else if (resultCode == RESULT_CANCELED) {
            // Every time I receive this code
        }
    }
}
  • 1
    почему второй блок называется onActivityResult2 вместо onActivityResult?
  • 0
    Извините, когда я копирую код, я вставляю номер 2. Этого номера нет в моем коде.
Показать ещё 1 комментарий
Теги:
android-intent
zxing
intentfilter

2 ответа

0

Следуйте примерному коду, представленному в проекте под android-integration. Просто вызовите методы этого класса, а не отлаживайте собственную версию. Я думаю, что использование requestCode 0, скорее всего, будет проблемой, но я предполагаю. Он должен быть своего рода уникальным идентификатором для запроса. Но 0 может быть использовано кем-то другим, и вы действительно слышите ответ на что-то еще.

0

У меня очень похожий код в моем приложении. Единственное существенное отличие заключается в том, что у меня есть "PRODUCT_MODE" вместо "ONE_D_MODE".

  • 0
    Какую версию ZXing вы используете?
  • 0
    Я удалил строку, включающую пакет, и проблема продолжалась. Другое предложение?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню