【问题标题】:Updating the app at exactly midnight在午夜更新应用程序
【发布时间】:2012-01-09 18:16:45
【问题描述】:

有没有办法让我的应用在每晚的午夜时分进行自我更新?我需要在午夜时分在应用程序上显示新内容。我知道如何做到这一点,但如果它不在另一个线程中并且在 onCreate 中并且应用程序在下次打开时在后台运行,它只会显示以前的信息而不是更新的信息?

我也可以在 iPhone 上使用帮助来完成同样的事情。

我会澄清一点。因此,要在应用程序上显示的所有信息都将在应用程序中。我只是希望应用程序上的内容(显示的内容)随机化,然后每 24 小时或恰好在午夜只显示一次新的内容组。希望这能让它更清楚。

【问题讨论】:

    标签: android iphone ios timer


    【解决方案1】:

    安卓:

    您可以使用AlarmManager 设置预先确定的更新时间

    您可以在此处查看 sn-p:Android: How to use AlarmManager


    iPhone:

    对于 iPhone,您可能必须在每次重新打开应用程序时下载内容。

    【讨论】:

    • 谢谢,我会调查那个。
    • 在该链接中接受的代码块中。例如,您是否碰巧知道一种在每天午夜发生的好方法?那个被设置为在创建后的每个分配的时间段内关闭。
    • 我唯一不改变逻辑的唯一建议是,当您启动 AlarmManager 时,您计算距离午夜还有多少时间并设置它。那么接下来就是 24 小时了。
    【解决方案2】:

    你不能让应用在启动时更新内容,或者在 appDelegate 中进入前台时更新内容。

    【讨论】:

      【解决方案3】:

      这个问题非常模糊 - 但如果我正确理解要求,您将需要通过内容服务器(或某种类型的 CDN)动态地提供应用程序的内容。在这种情况下,可能会有各种情况。

      在最简单的实现中,您可以让应用程序由来自 Amazon S3 之类的数据(XML、JSON 等)提供支持,并在应用程序中设置逻辑来知道如何根据当天。

      这不会很难实现,但需要构建某种类型的跨平台框架,为每个应用程序读取相同类型的数据。

      【讨论】:

      • 不是服务器,因为所有内容都已经在应用程序上。我在上面澄清了。
      • 啊-然后我的答案改变了:)。在这一点上 - 它就像跟踪用户看到的内容并根据一天中的时间和用户没有看到的内容提供新的随机内容一样简单。更容易:)。
      • 但我仍然想知道,应用程序 (iOS) 如何在凌晨 12:00 检查 CDN;如果它没有运行?
      • 好吧,我对 iPhone 还是有点陌生​​,但每次你进入应用程序时,它都会打开一个新的应用程序实例,对吗?如果是这样,它只需要在打开应用程序时发生......但我仍然需要一个计时器或能够检查它是否超过前一天午夜的东西。
      • 完全正确 - 应用程序是否关闭并不重要,因为用户没有查看它 :)。一旦用户打开应用程序,它只需要更新。应用程序将在每次启动(或被带到前台)时检查以查看当前时间。它可以在那个时候做出改变。不需要计时器。
      【解决方案4】:

      内容是否在午夜之前可用?

      如果是这样,您不能让应用程序事先在后台下载它,然后在午夜准确地提供它吗?

      如果没有,无论如何肯定会有一些延迟。

      【讨论】:

        【解决方案5】:

        应用至少在 iOS 应用中不能自我更新。

        【讨论】:

        • 我认为问题与内容有关,而不是应用本身。
        • 好吧,如果问题模棱两可,人们就无法知道“你在想什么”。你认为上面的说法是错误的吗?这就是你降级投票的原因?
        猜你喜欢
        • 2017-10-31
        • 2013-04-12
        • 2012-02-03
        • 2017-10-02
        • 1970-01-01
        • 2016-01-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多