Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Интеграция zxing с андроидом

Автор вопроса: user1096447Ответов: 1

Я пытаюсь интегрировать сканер штрих-кода zxing в свое приложение. Я не хочу делать это с помощью намерения, поскольку я хотел бы, чтобы приложение было универсальным решением. Я понимаю ограничения, которые у этого есть, но у меня действительно нет выбора в этом

Я следовал следующему руководству, чтобы интегрировать код в виде библиотеки в свой проект.

http://damianflannery.wordpress.com/2011/06/13/integrate-zxing-barcode-scanner-into-your-android-app-natively-using-eclipse/

Я получаю ошибку исключения Null со следующим logcat . Если кто-нибудь много знает о коде zxing, может дать мне какие-либо указатели, которые были бы замечательными. дайте мне знать, если вам нужна дополнительная справочная информация

. Я вызываю сканер со следующим

        Intent intent = new Intent("com.google.zxing.client.android.SCAN");
    intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
    startActivityForResult(intent, 0);


12-28 06:41:57.464: W/dalvikvm(4301): threadid=3: thread exiting with uncaught exception (group=0x2aaca450)
12-28 06:41:57.464: E/AndroidRuntime(4301): Uncaught handler: thread main exiting due to uncaught exception
12-28 06:41:57.504: E/AndroidRuntime(4301): java.lang.RuntimeException: Unable to resume activity {com.discovery_scan.app/com.google.zxing.client.android.CaptureActivity}: java.lang.NullPointerException
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2950)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2965)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2516)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.app.ActivityThread.access$2200(ActivityThread.java:119)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.os.Handler.dispatchMessage(Handler.java:99)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.os.Looper.loop(Looper.java:123)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.app.ActivityThread.main(ActivityThread.java:4363)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at java.lang.reflect.Method.invokeNative(Native Method)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at java.lang.reflect.Method.invoke(Method.java:521)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:885)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at dalvik.system.NativeStart.main(Native Method)
12-28 06:41:57.504: E/AndroidRuntime(4301): Caused by: java.lang.NullPointerException
12-28 06:41:57.504: E/AndroidRuntime(4301):     at com.google.zxing.client.android.CaptureActivity.onResume(CaptureActivity.java:178)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1149)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.app.Activity.performResume(Activity.java:3763)
12-28 06:41:57.504: E/AndroidRuntime(4301):     at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2937)
  • Вы изменили какую-либо часть исходного кода zxing? Какое устройство вы используете? Версия Market сканера штрих-кода работает правильно? Установлена ​​ли маркет-версия на устройстве, пока вы тестируете собственную сборку? (если так, я бы попробовал сначала удалить это); FoamyGuy 28.12.2011
  • Привет. Нет, я вообще не менял код zxing, оставив его как есть. Я попробовал свой проект (с кодом библиотеки zxing) на 2 устройствах и получил ту же ошибку. user1096447 29.12.2011
  • @user1096447 user1096447 вы нашли решение с той же ошибкой? Erum 26.01.2015

androidzxing

Ответы

Ответ 1 · рейтинг 2 · Sean Owen

Самая большая путаница здесь заключается в том, что вы пытаетесь не использовать намерения, но вы используете намерения. Что он?

Я предполагаю, что вы на самом деле не хотите использовать намерения. Ошибка возникает из-за того, что вы скопировали и вставили наш код, не понимая его. Я уверен, что это потому, что метод onResume() обращается к элементам пользовательского интерфейса, которых нет в вашей копии макета.

Пожалуйста, не копируйте наш код таким образом; на самом деле, я думаю, что полная копия нарушает товарный знак. Интегрируйте через Intent, если у вас нет времени или желания писать собственное приложение для сканирования.

http://code.google.com/p/zxing/wiki/ScanningViaIntent

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы