我正在使用相机运行IONIC应用程序。它在更强大的设备上运行良好,但在较低质量的设备上崩溃应用程序。我的研究告诉我,一旦手机离开打开相机以节省内存,手机就会关闭它。我减小了图像的大小和质量,但它仍然崩溃。
https://code.google.com/p/foreground-camera-plugin/
上面的插件是一个建议的解决方案,可以阻止应用关闭。但我不能让它工作,我想知道如何将其注入IONIC。
所以我的问题是;有没有任何解决这个问题的方法,我不需要分叉我的代码,并将在IOS和android上运行。
var options = {
quality: 50,
destinationType: Camera.DestinationType.DATA_URL,
sourceType: Camera.PictureSourceType.CAMERA,
allowEdit: true,
encodingType: Camera.EncodingType.JPEG,
correctOrientation: true,
targetWidth: 200,
targetHeight: 200,
popoverOptions: CameraPopoverOptions,
saveToPhotoAlbum: false
};
$ionicPlatform.ready(function ()
{
$cordovaCamera.getPicture(options).then(function (imageURI) {
$scope.updateDBImage(imageURI);
return true;
}, function (err) {
var Popup = $ionicPopup.alert({
title: 'Error!',
template: err
});
});
});
这是我正在使用的代码。
答案 0 :(得分:1)
@Duovili!
放入console.log(JSON.stringify(options));在定义'选项'之后。我遇到了类似的问题,然后我注意到destinationType未定义,导致json类似于此:
{
"quality" : 80,
"sourceType" : 1,
"allowEdit" : false,
"encodingType" : 0,
"saveToPhotoAlbum" : true
}
没有destinationType值。那使我的申请崩溃了。
答案 1 :(得分:1)
下午好,问题确实是内存不足,即使设备有它取决于型号,它也可能会出现此错误。我在 motoG8、Motog7Play、Motog2、Redmi note 7、Mi8 手机上进行了测试。在 MotoG8 和 MotoG7Play 手机上出现了该错误,但是在 config.xml 中添加一行后,问题在 MotoG8 中消失,仅在 MotoG7Play 中持续存在。
行 config.xml:
<preference name = "AndroidLaunchMode" value = "singleTask" />
观察:
我创建了一个错误报告,解释了开发人员分析的情况,但是我没有收到他们的任何回复,我也把它贴在这里看看是否有人解决了它。 如果您已经解决了,请告诉我如何解决。 Bug Report GitHub Publish stack