android - 如何知道 DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS 更新可用性来源的 AppUpdateType?

标签 android in-app-update

我目前正在实现 Google 的新“应用内更新”库。

根据文档,我们可以向用户提示“灵活”或“即时”的 UI。在这两种情况下,它将启动更新的下载(阻止或不阻止)。

如果在此下载过程中我杀死了我的应用程序并且他们在下载结束之前重新启动它,当我询问“更新可用性”时,API 会给我答案 UpdateAvailability.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS .

documentation仅在立即更新的情况下才提到此可用性,因此我们必须使用以下代码恢复全屏 UI:

appUpdateManager.startUpdateFlowForResult(appUpdateInfo, IMMEDIATE, this, 1000)

问题是我在下载灵活更新时也有这种可用性,在这种情况下,我不想启动全屏下载 UI,因为它是灵活更新......

当 API 返回 UpdateAvailability.DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS 时,有什么方法可以知道我们是在灵活更新还是立即更新?作为可用性?

预先感谢您的帮助!

最佳答案

API 不会返回更新是作为即时流还是灵活流启动的。

如果您想确保恢复之前开始的相同流类型,今天有 2 个选项:

  • 重新运行您运行的相同逻辑以确定最初启动的类型:如果逻辑是确定性的,结果将是相同的,您将恢复相同类型的流程
  • 记住您明确开始的类型(保留此信息)

  • 请注意,在恢复时选择错误的流类型不是问题:在内部它们以相同的方式工作,因此您可以启动灵活的流并立即恢复它,反之亦然,没有任何问题。

    资料来源:我在 Play Core SDK 上工作

    关于android - 如何知道 DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS 更新可用性来源的 AppUpdateType?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56365502/

    相关文章:

    java - 如何在应用程序更新中实现 "IMMEDIATE"?

    android - 在某些设备上完成 Android 的应用内灵活更新过程后,应用不会自动重启

    android - 应用程序在后台时安装灵活的应用程序内更新

    Android循环显示动画太快

    android - 我怎样才能让这个 MediaStore 代码在 API 11 以下工作?

    android - Google Maps v2 Marker zOrdering - 置顶

    android - 为什么 In-App 更新失败并返回 resultCode 0?

    android - 在真实设备上振动多次以在android中通知(接近警报)

    java - Google Maps Utils IconGenerator 文本样式和背景

    android - 应用内更新提供 InstallException (ERROR_API_NOT_AVAILABLE)