0

GPS座標を見るサービスがあります。ユーザーがホームボタンをクリックすると、GPSが機能しなくなります(バッテリー節約)。

私が使用している戦略はこれです:

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

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

サービスを使用する各アクティビティで。問題は、アクティビティを切り替えるたびに停止して再開することです。アプリがフォアグラウンドになるまでサービスを常に稼働させる戦略はありますか?

4

1 に答える 1

1

サービスを使用して GPS を処理する 3 つのアクティビティを含むアプリがあります。各アクティビティの onStart() には、フォームのコードがあります

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

そして、私が持っている各 onStop() で

unbindService(..);

アクティビティ 2 の onStart() がアクティビティ 1 の onStop() の前に実行されることがわかります。したがって、アクティビティが実行されていない場合にのみ、サービスが停止します。

于 2012-12-14T18:27:16.693 に答える