我正在制作一个聊天应用程序,我想仅当用户不在聊天屏幕中时才向他发送推送通知,所以我需要知道当前屏幕或路径
我尝试在每次进入屏幕时保存屏幕名称,但是当用户使用 Navigator.pop 返回或使用手势时,它当然不起作用
我不知道什么是正确的做法
也许您可以使用
dispose
方法在用户离开屏幕时更新状态:
import 'package:flutter/material.dart';
class ChatScreen extends StatefulWidget {
@override
_ChatScreenState createState() => _ChatScreenState();
}
class _ChatScreenState extends State<ChatScreen> {
bool userInChat = false;
@override
void initState() {
super.initState();
// Set the user as "in the chat" when the widget is initialized
}
@override
void dispose() {
// Set the user as "not in the chat" when the widget is disposed (he left the screen)
super.dispose();
}
}
创建小部件时会调用
initState
方法,从小部件树中删除小部件时会调用 dispose
方法,通常在用户离开屏幕时会调用 dispose
。