cordova-plugin-camera在某些android机型中拍照或选择文件时闪退出错的解决办法

cordova-plugin-camera在某些android机中会出现拍照完成时,无法进入照片编辑,导致直接闪退,特别在ionic中使用闪退后,再次进入APP,APP则直接就是重新reload了,我尝试过很多手机,比如华为、魅族等,未出现闪退问题,但是偏偏小米9se上出现了闪退,不知道其他型号的小米手机是否也会出现此问题。欢迎大家自行验证。

出现这个问题,大概原因就是当我们再拍照或者进入选择图片的时候,APP自认为我们已经退出了APP去使用拍照功能了,由此导致APP自动退出了。因此解决的方法就是当我们打开拍照的时候让当前APP处于背景运行状态即可

由此,可以进行安装cordova-plugin-background-mode插件,并且在需要开启摄像头拍照的页面或者方法调用前开启背景模式,当离开当前页面或者拍照完成后,关闭背景模式即可。

安装cordova-plugin-background-mode


cordova plugin add cordova-plugin-background-mode

编写对应的代码


if(this.platform.is('android')) {
  // 开启背景模式
  this.backgroundMode.enable()
}

// 离开本页退出背景模式
if(this.platform.is('android')) {
   this.backgroundMode.disable()
}