代码之家  ›  专栏  ›  技术社区  ›  Priyank

在第一次运行Android应用程序时运行代码

  •  3
  • Priyank  · 技术社区  · 14 年前

    我有一个新的地震通知android应用程序,它的初始版本。我现在有个问题。我的应用程序有一个在后台运行的服务,它将自己安排为每X周期运行一次。它需要至少运行一次来调度自己。目前,当你启动手机时会发生这种情况。显然,我不希望用户重新启动他的手机,一旦他安装了应用程序。

    我也不想让我的应用程序UI每次运行时都调用它。因为这显然会打乱用户的日程安排。我需要知道的是,无论是当我的UI应用程序第一次在手机上运行时,它都应该能够运行服务,这样它就可以自己安排时间,并在将来继续按预期运行。

    我可以解决这个问题的另一种方法是,如果我知道要唤醒服务的现有警报列表,那么我就知道应用程序是否已经在运行。

    如果您想查看应用程序源代码或运行二进制文件,请查看以下github url

    它有一个UI应用程序,显示过去地震的列表。还有一个新的监控服务。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Walter Mundt    14 年前

    我不在家,所以这将是简短的,直到我可以编辑填补。

    首先,我认为您可以设置一个BroadcastReceiver,在初始设置的包安装时通知您。

    若要检测是否已提交报警,请尝试检索带有标志\u NO \u CREATE的报警的挂起内容。如果你得到一个空值,你需要设置警报,否则它可能是好的。

        2
  •  1
  •   Pentium10    14 年前

    请注意,调用 startService() startService()

    对该方法的调用将导致对目标服务的 onStart

    您可以很容易地在服务中使用布尔标志,例如: isScheduled 当您收到事件时,您可以对照它来安排或不安排重复的任务。

    Application 上课,不管多少次。你做的不同 onStart 服务方法。