我有一个问题,在我的抽屉里有一个用于注销的图块:
ListTile(
leading: Icon(
Icons.logout,
),
title: Text("Wyloguj się"),
onTap: () async {
DownloaderModel().reset();
final supabase = Supabase.instance.client;
final googleManager = GoogleManager();
print(supabase.auth.currentSession != null
? "user is still logged in"
: "user is logged out");
try {
await googleManager.signOut();
await supabase.auth.signOut();
if (context.mounted) {
Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (context) => LoginPage()));
}
} catch (e) {
print("Failed to log out!!! with error: $e");
}
}),
],
));
当我单击按钮时,会出现 try/catch 块未捕获的异常。 Google 和 Supabase 已成功注销,可能有问题
Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (context) => LoginPage()));
}
我只知道例外,因为有应用程序冻结并且有来自VSC的信息。
而且我看不出异常发生在哪里。由于在脚手架的抽屉中使用,Navigator.pushReplacement 是否可能会创建异常?有人知道如何修复它或查看异常详细信息吗?
尝试删除该部分代码(Navigator.push...)或其他一些元素,以排除是哪个元素导致了问题。 如果是 LoginPage() ,请检查它是否未加载已删除的项目、需要权限或类似的内容。