Ionic2 爱奥尼亚2摄像头导致应用程序崩溃
当我在android设备上使用相机按钮启动相机时,chrome inspect会出现以下错误: file:///storage/emulated/0/Android/data/io.ionic.starter/cache/.Pic.jpg 通过ClipData.Item.getUri()在应用程序之外公开 我不知道,也找不到 感谢您的帮助Ionic2 爱奥尼亚2摄像头导致应用程序崩溃,ionic2,Ionic2,当我在android设备上使用相机按钮启动相机时,chrome inspect会出现以下错误: file:///storage/emulated/0/Android/data/io.ionic.starter/cache/.Pic.jpg 通过ClipData.Item.getUri()在应用程序之外公开 我不知道,也找不到 感谢您的帮助 Cordova CLI: 6.4.0 Ionic Framework Version: 2.0.0-rc.3 Ionic CLI Version: 2.1.1
Cordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-rc.3
Ionic CLI Version: 2.1.12
Ionic App Lib Version: 2.1.7
Ionic App Scripts Version: 0.0.45
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 10
Node Version: v6.9.1
Xcode version: Not installed
我使用这个选项:在Android设备中运行良好
doCamera() {
Camera.getPicture({
destinationType: Camera.DestinationType.FILE_URI,
saveToPhotoAlbum: true,
mediaType: Camera.MediaType.PICTURE,
}).then((imageURI) => {
this.changeImageString(imageURI);
}, (err) => {
console.log("Error: " + err);
});
}
看
爱奥尼亚信息:
Cordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-rc.1
Ionic CLI Version: 2.1.8
Ionic App Lib Version: 2.1.4
Ionic App Scripts Version: 0.0.38
Node Version: v6.8.1
我使用这个选项:在Android设备中运行良好
doCamera() {
Camera.getPicture({
destinationType: Camera.DestinationType.FILE_URI,
saveToPhotoAlbum: true,
mediaType: Camera.MediaType.PICTURE,
}).then((imageURI) => {
this.changeImageString(imageURI);
}, (err) => {
console.log("Error: " + err);
});
}
看
爱奥尼亚信息:
Cordova CLI: 6.4.0
Ionic Framework Version: 2.0.0-rc.1
Ionic CLI Version: 2.1.8
Ionic App Lib Version: 2.1.4
Ionic App Scripts Version: 0.0.38
Node Version: v6.8.1
解决了这个问题,将cordova平台升级为6.1.1,然后更新摄像头插件 检查您的android cordova平台版本:
cordova平台ls
如果android是6.0<,那么您需要更新它并将更新版本添加到您的项目中,这应该可以:
cordova平台更新android
但在我的情况下,它不会更新android平台版本,所以我必须显式安装6.1.1
cordova平台添加android@6.1.1--保存
然后更新到6.1.1,我删除了cordova摄像头插件,并将其添加到我的项目中:
cordova插件删除cordova插件摄像头-保存
然后
cordova插件添加cordova插件摄像头——保存
然后安装了最新的cordova插件摄像头,我可以在我的config.xml中看到它
我已将我的应用程序再次部署到设备上,并成功运行。将
cordova平台
android升级为6.1.1,然后更新摄像头插件
检查您的android cordova平台版本:
cordova平台ls
如果android是6.0<,那么您需要更新它并将更新版本添加到您的项目中,这应该可以:
cordova平台更新android
但在我的情况下,它不会更新android平台版本,所以我必须显式安装6.1.1
cordova平台添加android@6.1.1--保存
然后更新到6.1.1,我删除了cordova摄像头插件,并将其添加到我的项目中:
cordova插件删除cordova插件摄像头-保存
然后
cordova插件添加cordova插件摄像头——保存
然后安装了最新的cordova插件摄像头,我可以在我的config.xml中看到它
我再次将我的应用程序部署到设备上,ionic run android运行正常。通过宽度和高度为我解决了崩溃问题
const options: CameraOptions = {
quality: 100,
targetWidth: 100,
targetHeight: 100,
destinationType: Camera.DestinationType.DATA_URL,
encodingType: Camera.EncodingType.JPEG,
mediaType: Camera.MediaType.PICTURE
}
Camera.getPicture(options).then((imageData) => {
// imageData is either a base64 encoded string or a file URI
// If it's base64:
this.idImage = imageData;
this.idImageSelected = 'data:image/jpeg;base64,' + imageData;
}, (err) => {
// Handle error
});
}
通过宽度和高度解决了碰撞问题
const options: CameraOptions = {
quality: 100,
targetWidth: 100,
targetHeight: 100,
destinationType: Camera.DestinationType.DATA_URL,
encodingType: Camera.EncodingType.JPEG,
mediaType: Camera.MediaType.PICTURE
}
Camera.getPicture(options).then((imageData) => {
// imageData is either a base64 encoded string or a file URI
// If it's base64:
this.idImage = imageData;
this.idImageSelected = 'data:image/jpeg;base64,' + imageData;
}, (err) => {
// Handle error
});
}
我试过了,还有其他应该可以用的教程,但还是崩溃了。我开始认为这与代码无关..这永远不会起作用错误发生在camera.getpicture resolve之前,因此您永远不会有机会像这样处理imageURI。我尝试了它,以及其他应该起作用的教程,但它仍然崩溃。我开始认为这与代码无关..这永远不会起作用错误发生在camera.getpicture resolve之前,因此您永远不会有机会像这样处理imageURI。