这个问题的解决方法很简单。我们只需要在AndroidManifest.xml中添加一个属性,就可以使app在点击通知后重启到当前打开的屏幕,而不是回到主屏幕。
具体的步骤是,在AndroidManifest.xml文件中找到你的应用程序(
...
其中,android:launchMode="singleTop"
会在通知响应时使应用程序使用“singleTop”启动模式,android:theme="@style/LaunchTheme"
会使用一个特殊的主题来启动应用程序,android:configChanges="orientation|keyboardHidden"
防止由于屏幕方向或键盘状态的更改而导致当前活动(activity)被销毁并重新创建。
这样,在通知被点击后,就会打开当前的屏幕并显示通知所关联的详情。
// 显示通知
Future _showNotification() async {
var androidChannel = AndroidNotificationChannel(
'channel_id',
'channel_name',
'channel_description',
importance: Importance.high,
playSound: true,
showBadge: true,
);
await flutterLocalNotificationsPlugin
.resolvePlatformSpecificImplementation<
AndroidFlutterLocalNotificationsPlugin>()
?.createNotificationChannel(androidChannel);
var notificationDetails = NotificationDetails(
android: AndroidNotificationDetails(
'channel_id',
'channel_name
上一篇:本地通知覆盖了先前的本地通知。
下一篇:本地通知监听器未执行动作。