TextView を拡張してストップウォッチとして機能するカスタム Chronometer があります。このクロノメーターを使用するアクティビティは、サービスからのブロードキャストをリッスンしています。このブロードキャストでは、サービスはアクティビティ (したがってクロノメーター) にカウントを停止するように指示します。これは、アプリケーションをフォアグラウンドに保持している場合にうまく機能します。
ただし、アクティビティがアクティブでない場合 (ユーザーがホーム ボタンを押すなど)、アクティビティはブロードキャストを取得せず、クロノメーターはカウントを続けます。そのため、アクティビティを再度開くと、クロノメーターはカウントアップされるべきではありませんが、まだカウントアップしています。
誰がこの問題の解決策を教えてくれますか?
注: サービスには、アクティビティやクロノメーターに関する知識はありません。それは単にブロードキャストを送信するだけです。