David Salzer
David Salzer

Reputation: 872

Android Cordova 5.0+ Camera crash

We are using Cordova 5.0.0 and its cordova-camera-plugin

When we are testing it on Android, the app crashes when the user takes a photo. Looking at the links below, it seems that our app is being killed while the camera app it on front.

PhoneGap camera restarts the application

https://github.com/shaithana/cordova-plugin-wezka-nativecamera

While there are some answers but it seems to be outdated: The foreground camera plugin is not suitable to newer devices or Cordova and other solutions didn't work for us

Does anyone have an up-to-date solution?

Upvotes: 5

Views: 2350

Answers (2)

daserge
daserge

Reputation: 1512

Try to use this forked cordova-android and cordova-plugin-camera.

The docs, sample and discussion on the approach used can be found in the cordova-android PR.

BTW, the PRs are going to be merged soon.

Upvotes: 3

Axel
Axel

Reputation: 435

First question that comes to my mind is: Why using this camera plugin: https://github.com/shaithana/cordova-plugin-wezka-nativecamera

It's obviously a fork. You might have a good reason for that. It's also outdated. Last contribution was one year ago.

Maybe you want to give the "official" plugin a shot: https://github.com/apache/cordova-plugin-camera

Going deeper into detail without knowing more about your testing environment (which device(s) with which Android version) and without having possibility to review entire related code, is not possible and answers may not give any reliable advice for change.

Have you ensured, that the call to the camera plugin cannot happen before "deviceready" was triggered? Is cordova.js loaded?

Update: You may also want to switch from raw alerts to console output. I recognized several times that alerts in callbacks triggered from plugins could cause some trouble.

As a general rule of thumb: Use console.log() instead of alert() and connect with Chrome (chrome://inspect) to the emulator or device to see what happens. You can additionally use adb logcat to have a look into the device log.

Upvotes: 0

Related Questions