Android - 在活动上调用finish()并不会阻止它运行

时间:2015-04-16 15:59:20

标签: java android

所以我已经查到了类似的问题,并遵循了这些主题中的建议,但它似乎没有改变我的行为。

所以我正在编写一个应用程序,它基本上会在用户根据GPS onLocationChanged()调用过快或过慢时通知用户。我将onBackPressed()方法重写为finish()并返回,但当我返回主活动时,活动继续在后台运行。

要明确的是,我希望在应用程序最小化或屏幕关闭时运行活动。我只希望它在用户返回菜单时停止(IE,点击后退按钮)

这是关于pastebin的类的链接: http://pastebin.com/V7z5c3HH

感谢您的帮助! = d

2 个答案:

答案 0 :(得分:0)

在onDestroy方法中取消订阅您的位置监听器。 但是,GPS处理所需的可能是服务,而不是活动。

答案 1 :(得分:0)

您需要删除该侦听器的更新。

@Override
protected void onDestroy() {
    locationManager.removeUpdates(locationListener);
    super.onDestroy();
}