0

我有一个看起来 gps 坐标的服务。我希望当用户单击主页按钮时 gps 停止工作(省电)。

我使用的策略是这样的:

    @Override
public void onPause() { 
    super.onPause();
    doUnbindService();
}

@Override
public void onResume() {
    super.onResume();
    doBindService();  
}

在使用该服务的每个 Activity 上。问题是每次我切换活动时它都会停止并恢复。是否有一种策略可以让我的服务始终处于运行状态,直到我的应用程序处于前台状态?

4

1 回答 1

1

我有一个包含 3 个活动的应用程序,这些活动使用服务来处理 GPS。在每个活动的 onStart() 我有形式的代码

bindService(new Intent(..., ..., Context.BIND_AUTO_CREATE);

在每个 onStop() 我有

unbindService(..);

您应该会发现活动 2 的 onStart() 将在活动 1 的 onStop() 之前执行。因此,只有在没有活动运行时,服务才会停止。

于 2012-12-14T18:27:16.693 回答