【问题标题】:How can my service be notified when the Home or Back buttons are pressed按下 Home 或 Back 按钮时如何通知我的服务
【发布时间】:2014-01-28 21:36:22
【问题描述】:

我想让我的服务在用户按下 Home 或 Back 时执行某些操作。 我不想覆盖或阻止这些按钮的正常行为,只是收到有关它们的通知。

即使启动服务的活动停止,我也需要得到通知。

使用平台 17-19。

有什么办法吗? 可以通过意图过滤器或广播接收器来完成吗??

谢谢

【问题讨论】:

    标签: android android-service


    【解决方案1】:

    只有活动(和片段)会获得这些回调(onPause、onStop 等)。如果你的 Activity 正在运行,它可以通知服务,但是一旦它在后台,就没有办法这样做了。

    【讨论】:

    • 我不希望收到这些回调,我只是询问是否有某种系统事件/广播可以收听并采取行动。
    • 除非您开发主屏幕替换,否则这是不可能的。在这种情况下,当用户按下主页按钮时,您会收到通知。
    【解决方案2】:

    如果服务开启,您可以通过挂接到活动中的 onPause 或 onStop 方法来使用广播。如果服务没有打开,我认为你必须启动它,做一些事情,然后结束。

    【讨论】:

    • 正如我在问题中提到的,启动服务的活动状态已经停止。当按下 Home/Back 时,我无法控制在前台运行的活动,因此我无法加入它的暂停和停止回调。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    相关资源
    最近更新 更多