コードを見ずに:メソッドstartServiceを呼び出すと、サービスが実行されていないonStartCommand場合はサービスが開始され、サービスがすでに開始されている場合は呼び出されます。startServiceタイマーが開始すると、値(たとえばint、ライブタイマーを表す値)を呼び出してインクリメントできます。タイマーを停止/終了する必要がある場合はBroadcastReceiver、Service(表示したリンクのように)を実装して、他のコンポーネントからの「クローズ」ブロードキャストをリッスンできます(このパターンを使用しServiceて、新しいタイマーを通知できます)開始しました(「開始」ブロードキャスト))。
その中でBroadcastReceiver、Serviceライブタイマーのカウントをデクリメントして、にいるかどうかを確認します。0その場合は、を停止しServiceます。
上記のアプローチの主な問題はService、他のアクティビティが強制終了されて再起動されない場合でも、必要なタイマークローズインテントをブロードキャストできない場合でも、いつ確実に閉じるかです(他のアクティビティが強制終了されて再起動されない場合、サービスはいくつかの登録済みタイマーが残っているので、サービスを無期限に実行したくないでしょう)。これを解決するには、実際のコードに関する詳細が必要になります。