IONIC + cordova 相机在 android 上崩溃
IONIC + cordova camera crashing on android
我正在 运行使用相机安装 IONIC 应用程序。它在功能更强大的设备上运行良好,但在质量较低的设备上会使应用程序崩溃。我的研究告诉我,phone 一旦离开打开相机以节省内存,就会关闭应用程序。我已经减小了图像的大小和质量,但它仍然崩溃。
https://code.google.com/p/foreground-camera-plugin/
上面的插件是一个建议的解决方案,可以阻止应用程序关闭。但我无法让它工作,我想知道将它注入 IONIC 后如何工作。
所以我的问题是;有没有解决这个问题的有效解决方案,我不必分叉我的代码并将 运行 on 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
});
});
});
这是我正在使用的代码。
@Duovili!
把console.log(JSON.stringify(选项));在定义 'options' 之后。我遇到了类似的问题,然后我注意到 destinationType 未定义,这导致 json 类似于:
{
"quality" : 80,
"sourceType" : 1,
"allowEdit" : false,
"encodingType" : 0,
"saveToPhotoAlbum" : true
}
没有 destinationType 值。那使我的应用程序崩溃了。
下午好,问题确实是内存不足,但是,即使设备有内存,根据型号也可能会出现此错误。我在 motoG8、Motog7Play、Motog2、Redmi note 7、Mi8 手机上进行了测试。在 MotoG8 和 MotoG7Play 手机上出现了错误,但是在 config.xml 中添加一行后,问题在 MotoG8 中消失,仅在 MotoG7Play 中存在。
行config.xml:
<preference name = "AndroidLaunchMode" value = "singleTask" />
观察:
我创建了一个错误报告来解释开发人员分析的情况,但是我没有收到他们的任何回复,我也把它贴在这里看看是否有人解决了它。
如果您已经解决了它,请告诉我如何解决。
Publish stack
我正在 运行使用相机安装 IONIC 应用程序。它在功能更强大的设备上运行良好,但在质量较低的设备上会使应用程序崩溃。我的研究告诉我,phone 一旦离开打开相机以节省内存,就会关闭应用程序。我已经减小了图像的大小和质量,但它仍然崩溃。
https://code.google.com/p/foreground-camera-plugin/
上面的插件是一个建议的解决方案,可以阻止应用程序关闭。但我无法让它工作,我想知道将它注入 IONIC 后如何工作。
所以我的问题是;有没有解决这个问题的有效解决方案,我不必分叉我的代码并将 运行 on 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
});
});
});
这是我正在使用的代码。
@Duovili!
把console.log(JSON.stringify(选项));在定义 'options' 之后。我遇到了类似的问题,然后我注意到 destinationType 未定义,这导致 json 类似于:
{
"quality" : 80,
"sourceType" : 1,
"allowEdit" : false,
"encodingType" : 0,
"saveToPhotoAlbum" : true
}
没有 destinationType 值。那使我的应用程序崩溃了。
下午好,问题确实是内存不足,但是,即使设备有内存,根据型号也可能会出现此错误。我在 motoG8、Motog7Play、Motog2、Redmi note 7、Mi8 手机上进行了测试。在 MotoG8 和 MotoG7Play 手机上出现了错误,但是在 config.xml 中添加一行后,问题在 MotoG8 中消失,仅在 MotoG7Play 中存在。
行config.xml:
<preference name = "AndroidLaunchMode" value = "singleTask" />
观察:
我创建了一个错误报告来解释开发人员分析的情况,但是我没有收到他们的任何回复,我也把它贴在这里看看是否有人解决了它。 如果您已经解决了它,请告诉我如何解决。 Publish stack