【问题标题】:Ionic Native Camera is not calling getPicture() callback on Android DeviceIonic Native Camera 未在 Android 设备上调用 getPicture() 回调
【发布时间】:2019-03-07 10:29:55
【问题描述】:

我正在开发 Ionic Native Camera Plugin,并已按照official documentation 页面上的所有说明进行操作。这是我为它编写的代码:

getPhoto(){

 console.log("In get Photo Method");
 const options: CameraOptions = {
 quality: 100,
 destinationType: this.camera.DestinationType.FILE_URI,
 encodingType: this.camera.EncodingType.JPEG,
 mediaType: this.camera.MediaType.PICTURE
}


this.camera.getPicture(options).then((imageData) => {  
console.log("Check Image"+imageData);}, 
(err) => {
console.log("Check Error Red"+err);
 });} 

我在 chrome 开发者工具上获得的控制台日志显示如下,其中显示没有调用 getPicture(): 但是当我为了测试而在浏览器上运行它时,它显示控制台消息和警告如下:

注意:不会发生异常或应用崩溃,执行只是卡在回调函数 this.camera.getPicture

【问题讨论】:

  • 你能发布你的代码吗?你是在检查你的设备还是只使用ionic serve
  • @GabrielBarreto 我已经更新了代码,我正在设备上运行并在 chrome 开发者工具上检查它
  • 在您的代码中实现的任何本机 cordova 插件都会在浏览器中引发警告,因为如果您使用 ionic serve 浏览器没有这些功能。
  • 我知道,我已经展示了在安卓设备和浏览器上运行的结果。第一张截图来自安卓设备。

标签: ionic-framework ionic3 android-camera ionic-native


【解决方案1】:

您能否进一步解释您的问题是什么?你没有得到照片还是什么? 由于正在调用该函数,因此控制台正在正确记录消息。

【讨论】:

  • 没有这个包含回调方法的方法。结果显示在回调方法之前打印的“In get Photo Method”。当我使用断点调试它时,回调函数后执行不会继续。
  • 好的,等一下,我会在我的设备上试试你的代码,然后告诉你出了什么问题
  • 当我在浏览器上运行它时还有一件事,它在控制台中给了我异常,这与没有显示错误或日志语句的设备不同
  • 看,我尝试了你的代码并且运行良好,我没有添加任何新内容,在浏览器中它将无法运行,因为它必须在模拟器或本机设备上运行,尝试检查相机手机上的应用权限
  • 我的是 "@ionic-native/camera": "^4.14.0", "cordova-plugin-camera": "^4.0.3",编辑版本然后运行命令 npm install
【解决方案2】:

问题是由于插件冲突,将源代码复制到新项目并安装插件导致冲突和问题的解决。有一些建议的方法来重新安装插件,但它们都不适用于 ionic3。

【讨论】:

    【解决方案3】:

    面临同样的问题。我检查了我的科尔多瓦版本和相机版本,相机版本就像 2.4.20 但是当我检查文档时它太旧了。所以我更新了相机插件并删除了android平台,然后再次添加。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-24
      • 2018-02-19
      • 2012-11-26
      • 1970-01-01
      • 2020-10-12
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多