我有一个看起来像gps坐标的服务。我希望当用户点击主页按钮时,gps停止工作(省电)。
我使用的策略是:
@Override
public void onPause() {
super.onPause();
doUnbindService();
}
@Override
public void onResume() {
super.onResume();
doBindService();
}
在每个使用该服务的Activity上。问题是,每次切换活动时,它都会停止并恢复。是否有一种策略可以让我在我的应用程序进入foregroung之前始终保持服务?
答案 0 :(得分:1)
我有一个应用程序有3个活动,使用服务来处理GPS。在每个活动的onStart()中,我都有
形式的代码bindService(new Intent(..., ..., Context.BIND_AUTO_CREATE);
并且在每个onStop()中我都有
unbindService(..);
您应该会发现活动2的onStart()将在活动1的onStop()之前执行。因此,只有当没有活动正在运行时,服务才会停止。