私のアプリケーションにはいくつかのアクティビティが含まれています。(10以上)。スプラッシュ アクティビティ内でアプリが開始されると (アプリにスプラッシュがあってはいけないと主張する人もいるかもしれませんが、それはここでは重要ではありません)、私はサービスを開始しています。
ただし、多くのアクティビティが存在し、アプリはユーザー主導のアプリであるため、ユーザーがアプリを終了するか最小化することを決定した場合、ユーザーはいずれかのアクティビティに参加している可能性があります。
私の質問は、サービスが実行されているかどうかを確認するために、すべてのアクティビティのすべての onPause / onStop にチェックを含める必要がありますか?実行している場合は停止しますか? それとも、一カ所でやらなければならないことがありますか?
サービスが実行されているかどうかを確認するために、次を使用しています。
private boolean isMyServiceRunning()
{
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager
.getRunningServices(Integer.MAX_VALUE))
{
if (MyService.class.getName()
.equals(service.service.getClassName()))
{
return true;
}
}
return false;
}