Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ionic2 爱奥尼亚2摄像头导致应用程序崩溃_Ionic2 - Fatal编程技术网

Ionic2 爱奥尼亚2摄像头导致应用程序崩溃

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

当我在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.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。