几天前出现了一个问题。 我有一个应用程序,可以监听GPS位置。侦听器是一个始终有效的后台服务,此服务将数据保存在应用程序级别,每个活动都会读取此数据。因此,当我按下后退按钮我能够捕捉到这个事件并且我可以停止服务,但是当我按下HOME按钮时服务仍在工作,尽管应用程序处于后台模式并且这消耗电池,因为GPS始终有效。我该如何处理这个事件?我想在用户按下HOME按钮时停止所有服务,并在用户返回时再次启动它们。 10X
答案 0 :(得分:4)
听起来你正在通过onKey ...方法或onStop捕捉后退按钮。您应该将代码放在onPause()方法中,以确保在应用程序背景化时使用它。
答案 1 :(得分:4)
答案 2 :(得分:2)
@Override
protected void onUserLeaveHint()
{
// When user presses home page
Log.v(TAG, "Home Button Pressed");
super.onUserLeaveHint();
}
答案 3 :(得分:0)
您可以创建一个OnKeyListener,并检查按下的键是否为Home。但我从未尝试过。
答案 4 :(得分:0)
创建一个名为customActivity的自定义活动extends Activity现在覆盖方法(在customActivity中)以捕获主页按钮事件并停止服务(在应用程序类中创建和启动服务)。现在为任何activity_class扩展customActivity而不是Activity。
答案 5 :(得分:-4)
长按HOME按钮,它将登记正在运行的过程,选择您想要的过程,然后正常退出。
OR 来自家庭 - >设置 - >申请 - >管理申请 你可以杀死不受欢迎的进程。