我通过通知打开应用程序并希望在用户按下返回后保持打开状态?
I open the app through the notification and want to keep it open after the user presses back?
我有一个应用程序具有使用 OneSignal 开发的通知系统。
用例:
- 当通知随应用程序关闭而用户点击它时,应用程序直接打开与该通知对应的屏幕,(直到那时我明白了!)但是当用户点击返回时,应用程序关闭,因为只有堆中的那条路线;
我想以某种方式重新打开应用程序或保持打开状态!
类似于 Whatsapp 中发生的事情,因为当应用程序通过聊天中的直接通知关闭和打开时,当它返回时它关闭并再次使应用程序打开动画!
有人可以帮我解决这个问题吗?或者至少启发我。谢谢!
这似乎是 WillPopScope
小部件的一个用例。这个小部件会告诉你用户是否按下了后退按钮。你只需要用它包裹你的脚手架。
这是一个如何使用它的例子:
class MessagingPage extends StatefulWidget {
@override
_MessagingPageState createState() => _MessagingPageState();
}
class _MessagingPageState extends State<MessagingPage> {
bool hasComeFromNotification = true;
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: (){
if(hasComeFromNotification){
Navigator.of(context).pushReplacement(MaterialPageRoute(builder: (context){
return HomePage();
}));
return Future.value(false); // do not call Navigator.pop() because I already called it
} else {
return Future.value(true); // call Navigator.pop()
}
},
child: Scaffold(
body: Center(
child: Text('messaging'),
),
),
);
}
}
我有一个应用程序具有使用 OneSignal 开发的通知系统。
用例: - 当通知随应用程序关闭而用户点击它时,应用程序直接打开与该通知对应的屏幕,(直到那时我明白了!)但是当用户点击返回时,应用程序关闭,因为只有堆中的那条路线;
我想以某种方式重新打开应用程序或保持打开状态!
类似于 Whatsapp 中发生的事情,因为当应用程序通过聊天中的直接通知关闭和打开时,当它返回时它关闭并再次使应用程序打开动画!
有人可以帮我解决这个问题吗?或者至少启发我。谢谢!
这似乎是 WillPopScope
小部件的一个用例。这个小部件会告诉你用户是否按下了后退按钮。你只需要用它包裹你的脚手架。
这是一个如何使用它的例子:
class MessagingPage extends StatefulWidget {
@override
_MessagingPageState createState() => _MessagingPageState();
}
class _MessagingPageState extends State<MessagingPage> {
bool hasComeFromNotification = true;
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: (){
if(hasComeFromNotification){
Navigator.of(context).pushReplacement(MaterialPageRoute(builder: (context){
return HomePage();
}));
return Future.value(false); // do not call Navigator.pop() because I already called it
} else {
return Future.value(true); // call Navigator.pop()
}
},
child: Scaffold(
body: Center(
child: Text('messaging'),
),
),
);
}
}