타이머 화면을 나갈 때(앱 안에서 이동) 계속 돌아가는 중이라고 알림 표시
브라우저 탭 자체는 그대로 두고 앱 안에서 다른 화면으로 이동하면 AppLifecycleState가 안 바뀌어서 기존 "탭 이탈" 감지가 못 잡는 사각 지대였음. 화면 dispose 시점에 타이머가 running이면 직접 알림을 띄움. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -77,6 +77,15 @@ class _StudyTimerScreenState extends State<StudyTimerScreen>
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
// 🔔 브라우저 탭은 그대로 두고 앱 안에서 다른 화면으로 이동하는 경우(뒤로가기 등)는
|
||||
// AppLifecycleState가 안 바뀌어서 위쪽 감지 로직이 못 잡는다. 그래서 이 화면을 나갈
|
||||
// 때 타이머가 돌아가는 중이었다면 여기서 직접 알림을 띄워준다.
|
||||
if (_controller.isRunning) {
|
||||
showBrowserNotification(
|
||||
'백품타 타이머가 계속 돌아가고 있어요',
|
||||
'이 화면을 나가도 공부 시간은 계속 기록돼요.',
|
||||
);
|
||||
}
|
||||
WidgetsBinding.instance.removeObserver(this);
|
||||
_awayTimer?.cancel();
|
||||
_controller.dispose();
|
||||
|
||||
Reference in New Issue
Block a user