0

是否可以通过服务以编程方式按下 android 上的后退按钮?

我知道如果我在 Activity 中,我可以覆盖 onBackPressed() 方法,但我正在寻找一种适用于在后台运行的服务的解决方案。

4

2 回答 2

1

让服务直接更改 UI 不是一个好主意。您可以从服务发送广播。此时打开的任何活动都可以收听广播,然后决定采取适当的措施(在这种情况下关闭应用程序)。您可以模拟活动中的按键。

于 2013-05-08T00:37:51.943 回答
1

是否可以通过服务以编程方式按下 android 上的后退按钮?

不。

我知道如果我在 Activity 中,我可以覆盖 onBackPressed() 方法,

这与“以编程方式按下后退按钮”无关。

我正在寻找一种适用于在后台运行的服务的解决方案。

欢迎您的服务向您的活动发送一条消息,该消息会导致活动调用finish()。您可以对此类消息使用以下任何一种:

  • LocalBroadcastManager
  • 像奥托这样的活动巴士
  • 定期广播Intent
  • 一个Messenger
  • 等等

但是,如果您的期望是您将能够攻击其他应用程序的活动,迫使他们调用finish(),那是不可能的。

于 2013-05-08T00:50:26.093 回答