【发布时间】:2011-10-12 23:02:49
【问题描述】:
原文: 有没有办法杀死 TabActivity 的子活动。我有一个非常简单的选项卡设置。有两个选项卡。其中一个选项卡包含一个 MapActivity。当我切换到 MapActivity 时,GPS 会打开。当我按回时,TabActivity 退出,但 GPS 仍然打开。在我明确终止应用程序之前,gps 不会关闭。有没有办法从 TabActivity 中杀死 MapActivity?我想在 TabActivity 退出/onBackPressed 时杀死它。
编辑:
我确实尝试在我的 MapActivity 中停止 onDestroy 和 onPause 中的位置请求。我正在使用 MyLocationOverlay 类,并在 onDestroy 方法中调用 disableCompass 和 disableMyLocation。这些方法被调用,但 GPS 保持打开状态。如果我调用 enableMyLocation 并立即调用 disableMyLocation(在 onCreate 期间),gps 将关闭。
编辑标题以反映答案:
原来问题是 MyLocationOverlay 的 enable*/disable* 出现意外行为。这些函数似乎不是幂等的。多次调用启用和禁用不会像预期的那样将其打开一次或关闭一次。确保一次调用启用(在 onResume 中)和一次调用禁用(在 onPause 中)将在退出活动时禁用位置请求。
【问题讨论】:
标签: android