KingsMentor / MobileVisionBarcodeScanner

Barcode Scanner powered by Mobile Vision Api
http://belvi.xyz/posts/Mobile-Vision-Barcode-Scanner
MIT License
540 stars 109 forks source link

Unable to destroy activity null pointer exception at barcodecapture.ondestroy #69

Open Ssehgal29 opened 3 years ago

Ssehgal29 commented 3 years ago

whenever i call onbackpressed or perform an intent the app crashes and show the error unable to destroy the activity Attempt to invoke virtual method 'java.lang.Thread$State java.lang.Thread.getState()' on a null object reference.

damms005 commented 3 years ago

@Ssehgal29 were you able to get around this??

Ssehgal29 commented 3 years ago

Yess it's because of gradle incompatibility... Just go to project structure and set your gradle to 4.0.0 and everything works perfectly.

KushalMehta1995 commented 3 years ago

@damms005 were you able to get around this??

KushalMehta1995 commented 3 years ago

@Ssehgal29 were you able to get around this?? It's not working in my case.

damms005 commented 3 years ago

@Kush1195 Yes. I had to clone this repo locally and rebuild the app locally, and included it in my app as a local library dependency (from my project's graddle settings)

KushalMehta1995 commented 3 years ago

@Kush1195 Yes. I had to clone this repo locally and rebuild the app locally, and included it in my app as a local library dependency (from my project's graddle settings)

Please Do soon. Thank You

kprathap23 commented 2 years ago

Any update on this issue. How can we fix this.. i tried to change gradle to 4.0.0 still not working. please let me know if any one fixed and the related all gradle configurations . I used this library in a flutter plugin https://pub.dev/packages/mvbarcodescan. Now i am getting this crash issue

Fqceless commented 1 year ago

To anyone still having this problem, hopefully this helps. I was trying to get around this for hours, and the solution I found was this:

protected void onDestroy(){
        try {
            super.onDestroy();
        } catch (Exception e) {
            super.finishAndRemoveTask();
        }
    }
}

The class I was using would throw this error every time it got destroyed (super.onDestroy() was called), and it had something to do with the onDestroy methods being inherited by this repo. I was able to just catch the exception and run this random function to finish the task after the error was thrown. So far after my testing, this solution has held up.

Hopefully this can help, or give you direction to fix it!

Note: This worked for Gradle version 8.0.2