【问题标题】:Ionic App `appRestoredResult` Doesn't Fire离子应用程序“appRestoredResult”不启动
【发布时间】:2023-01-24 10:39:09
【问题描述】:

我正在构建一个使用相机插件的 Ionic 应用程序,但我在获取从相机返回的数据时遇到了问题。正如Capacitor docs on the Camera plugin(在variables section 上面的段落中)所说,应用程序有时会在后台“终止”,因此当它返回应用程序时,您需要在@中收听“appRestoredResult” 987654324@ plugin”获取相机结果。我遇到的问题是这个事件似乎永远不会发生。

我为以下事件添加了侦听器:backButtonpauseresumeappRestoredResultappStateChange

  • backButton 有效,并显示 toast 通知(这是我用来测试事件是否被触发的通知)。
  • pause 似乎只有在我按下“主页”或“打开的应用程序”按钮(手机上的按钮,而不是我的应用程序的一部分)时才会被解雇。
  • resume 仅当我在 pause 事件成功触发后返回应用程序时触发。当我从相机回来时,这个事件也应该触发,不是吗?
  • appRestoredResult 似乎从来没有解雇过。它应该在相机后返回应用程序后触发(如果应用程序在拍照期间终止)。
  • appStateChange 在我 pauseresume 应用程序时触发。

我究竟做错了什么?

【问题讨论】:

    标签: android ionic-framework state ionic-native


    【解决方案1】:

    通过更多的挖掘和更多的测试,我找到了问题所在。

    appRestoredResult 事件没有触发的原因是因为它只适用于特定的相机库(我已经切换到以前的相机库以查看是否可以让它工作,但后来我开始使用这些事件,但没有'不要切换回来)。

    这是我以前的

    ...
    import { App } from "@capacitor/app";
    import { Camera } from "@ionic-native/camera/ngx";
    ...
    

    这就是我现在所拥有的

    ...
    import { App } from "@capacitor/app";
    import { Camera } from "@capacitor/camera";
    ...
    

    因此,如果您遇到 appRestoredResult 事件未触发的问题,请检查您的库并确保您同时使用来自 @capacitor 的两个事件。

    【讨论】:

      猜你喜欢
      • 2017-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-09
      • 2018-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多