Closed forenbuddy closed 6 years ago
@forenbuddy Have you tried cleaning the project or invalidating caches and restarting the IDE?
Yes. Did not do the invalidating caches first, but after doing this and cleaning, I get the same exception:
09-07 11:11:19.052 16780-16780/com.mysite.myapp E/AndroidRuntime: FATAL EXCEPTION: main Process: com.mysite.myapp, PID: 16780 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mysite.myapp/devliving.online.mvbarcodereader.BarcodeCaptureActivity}: java.lang.ClassCastException: com.google.android.gms.samples.vision.barcodereader.ui.camera.CameraSourcePreview cannot be cast to online.devliving.mobilevisionpipeline.camera.CameraSourcePreview at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2521) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2595) at android.app.ActivityThread.access$800(ActivityThread.java:178) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5631) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) Caused by: java.lang.ClassCastException: com.google.android.gms.samples.vision.barcodereader.ui.camera.CameraSourcePreview cannot be cast to online.devliving.mobilevisionpipeline.camera.CameraSourcePreview at devliving.online.mvbarcodereader.BarcodeCaptureFragment.onCreateView(BarcodeCaptureFragment.java:130) at android.support.v4.app.Fragment.performCreateView(Fragment.java:2248) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1340) at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1569) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1636) at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:758) at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2415) at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2201) at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2155) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2064) at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:379) at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:607) at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:178) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1244) at android.app.Activity.performStart(Activity.java:6108) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2478) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2595) at android.app.ActivityThread.access$800(ActivityThread.java:178) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5631) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
Here is maybe also how I call it:
MVBarcodeScanner.ScanningMode mMode = SINGLE_AUTO; int mFormats = 256; new MVBarcodeScanner.Builder() .setScanningMode(mMode) .setFormats(mFormats) .build() .launchScanner(MainActivity.this, 9003);
mFormats
should be an integer array if you want to scan for multiple specific formats and the integers provided must all be defined barcode types e.g Barcode.QR_CODE
. Please try the latest version (1.1.1
) of the library and see if the problem persists.
Unfortunately also with version 1.1.1 it gives the same exception:
09-07 17:09:05.419 20854-20854/com.mysite.myapp E/AndroidRuntime: FATAL EXCEPTION: main Process: com.mysite.myapp, PID: 20854 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mysite.myapp/devliving.online.mvbarcodereader.BarcodeCaptureActivity}: java.lang.ClassCastException: com.google.android.gms.samples.vision.barcodereader.ui.camera.CameraSourcePreview cannot be cast to online.devliving.mobilevisionpipeline.camera.CameraSourcePreview at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2521) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2595) at android.app.ActivityThread.access$800(ActivityThread.java:178) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5631) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) Caused by: java.lang.ClassCastException: com.google.android.gms.samples.vision.barcodereader.ui.camera.CameraSourcePreview cannot be cast to online.devliving.mobilevisionpipeline.camera.CameraSourcePreview at devliving.online.mvbarcodereader.BarcodeCaptureFragment.onCreateView(BarcodeCaptureFragment.java:130) at android.support.v4.app.Fragment.performCreateView(Fragment.java:2337) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1419) at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1740) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1809) at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:799) at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2580) at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2367) at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2322) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2229) at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3221) at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3171) at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:192) at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:552) at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:177) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1244) at android.app.Activity.performStart(Activity.java:6108) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2478) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2595) at android.app.ActivityThread.access$800(ActivityThread.java:178) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5631) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
Invocation tried here:
MVBarcodeScanner.ScanningMode mMode = SINGLE_AUTO; int mFormats = Barcode.QR_CODE; new MVBarcodeScanner.Builder() .setScanningMode(mMode) .setFormats(mFormats) .build() .launchScanner(MainActivity.this, 9003);
I also tried it with mMode as an Array, but no luck. Of course I do not want to scan for any multiple specific formats, especially if the most basic attempt to scan a QR code always fails with the same exception.
I switched to compile 'com.android.support:appcompat-v7:26.0.0'
and related, but this has no impact on the exception as well.
That's weird, there is no import or cast of com.google.android.gms.samples.vision.barcodereader.ui.camera.CameraSourcePreview
in the code mentioned in stacktrace. The sample is working on all my test devices. Please try out the sample app to see if that gives the same exception or not. And provide the device & android os details you are testing on.
Turns out, I had some other sources interfering with my code.
Thank you very much!
I try to use the MVBarcodeReader in the simplest form but get an Exception on two different devices:
09-06 13:53:00.494 8589-8589/com.mysite.myapp E/AndroidRuntime: FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mysite.myapp/devliving.online.mvbarcodereader.BarcodeCaptureActivity}: java.lang.ClassCastException: com.google.android.gms.samples.vision.barcodereader.ui.camera.CameraSourcePreview cannot be cast to online.devliving.mobilevisionpipeline.camera.CameraSourcePreview at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) at android.app.ActivityThread.access$600(ActivityThread.java:141) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5041) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.ClassCastException: com.google.android.gms.samples.vision.barcodereader.ui.camera.CameraSourcePreview cannot be cast to online.devliving.mobilevisionpipeline.camera.CameraSourcePreview at devliving.online.mvbarcodereader.BarcodeCaptureFragment.onCreateView(BarcodeCaptureFragment.java:130) at android.support.v4.app.Fragment.performCreateView(Fragment.java:2248) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1340) at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1569) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1636) at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:758) at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2415) at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2201) at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2155) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2064) at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:379) at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:607) at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:178) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1164) at android.app.Activity.performStart(Activity.java:5114) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2153) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) at android.app.ActivityThread.access$600(ActivityThread.java:141) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5041) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) at dalvik.system.NativeStart.main(Native Method)
my build.gradle contains:
compile 'online.devliving:mvbarcodereader:1.1.0' compile 'com.android.support:appcompat-v7:25.4.0' compile 'com.google.android.gms:play-services-basement:11.2.0' compile 'com.google.android.gms:play-services-vision:11.2.0' compile 'com.android.support:design:25.4.0' compile 'com.android.support:support-annotations:25.4.0'
What could I try next? Please help!