【问题标题】:Android: how to get a long running service to start an activityAndroid:如何获得长时间运行的服务来启动活动
【发布时间】:2011-07-20 01:36:54
【问题描述】:

我需要一个在启动时启动的服务,它会定期检查一些数据库中是否有新发布的数据。如果有新数据(符合正确参数),我需要启动一个活动来显示它。我计划在这之间有一个通知,以允许用户选择关闭新数据,如果他们不感兴趣或正在进行其他任务。我在用于查询数据库的服务器上有一些 php,它可以工作,但它处于活动状态。我在这里阅读了很多关于警报管理器和广播接收器的信息。我想我需要一个在启动时启动的广播接收器,它将启动检查更新的服务,然后启动活动(如果有)。

非常感谢

【问题讨论】:

    标签: android service android-activity broadcastreceiver alarmmanager


    【解决方案1】:

    要开始使用广播接收器,请查看 here 示例。

    实现服务。看看IntentService。它将工作卸载到工作线程中,因此您无需自己关心。

    使用AlarmManager 安排服务定期启动。如果需要,不要忘记 wake lock 唤醒设备。

    在未经用户同意的情况下开始任何活动通常不是一个好主意。在通知栏中显示一些新数据可用的通知。当用户点击通知时,您将启动 Activity 以显示数据。

    还有更多的事情,你只需要一步一步地开始并实现它:)

    【讨论】:

    • 谢谢。所以我确实需要一个广播接收器来在启动时启动服务吗?
    • @Mike Casa 是的,在 BOOT_COMPLETED
    【解决方案2】:

    您是在问如何在启动时启动服务,还是从服务启动活动?

    对于后来的android start activity from service,以及对于前者的Android -Starting Service at Boot Time

    【讨论】:

    • 服务、广播接收器和活动可以在同一个项目中吗?
    • 是的,你可以在同一个项目中拥有一个活动和服务,这很常见
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多