0

我几乎完成了一个 Android 应用程序的开发。我使用 GPS 位置和短信接收器类。我可以看到,如果我按“HOME”(房子),它仍在运行。我想在按下主页按钮时关闭 GPS 监听器和 SMS_RECEIVER。

我正在使用eclipse和windows。

4

3 回答 3

1

使用主页按钮退出将使您的应用程序继续运行(据我所知,主页更像是一个“最小化”按钮)。使用 back 完全关闭。要覆盖主页按钮功能以实际退出,请使用以下命令:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    if (event.getAction() == KeyEvent.ACTION_DOWN) {
        switch (keyCode) {
        case KeyEvent.KEYCODE_HOME:
            finish();
            return true;
        }
    }

    return super.onKeyDown(keyCode, event);
}
于 2011-08-02T18:37:51.873 回答
1

您可以侦听 onStop 事件并关闭侦听器。

Activity.onStop 文档

注意:也许 onPause 或 onDestroy 可能是更好的选择。阅读活动生命周期并选择执行此操作的最佳点。

于 2011-08-02T18:40:48.617 回答
0

如果您使用广播接收器(您可能使用单独的类并在 AndroidManifest.xml 中声明接收器),那么请考虑将它们设为您的 Activity 的类成员。Activity 类内部覆盖 onResume 和 onPause 并在那里注册和注销接收器。

于 2011-08-02T19:49:48.687 回答