В моем проекте реализован плагин Quick_actions , и я хочу открыть определенный экран, но в функции обработчика быстрых действий навигатор не работает.с Try-Catch
исключение показывает, что контекст показывается из навигатора, но я использую контекст navigatorKey моего MaterialApp.
, если я помещаю любую другую функцию, такую как print('some text')
, она работает,проблема возникает только тогда, когда я пытаюсь использовать навигатор
Создать быстрые действия и добавить функцию обработчика
createQuickActions() {
quickActions.initialize(
(String shortcutId) {
switch (shortcutId) {
case 'settings':
try {
Navigator.push(
MyApp.navigatorKey.currentContext,
MaterialPageRoute(
builder: (context) => SettingsScreen(sistemas),
),
);
} catch (e) {
print(e);
}
print('selected: $shortcutId');
break;
}
}
);
}
Инициализировать быстрые действия
quickActions.setShortcutItems(
<ShortcutItem>[
const ShortcutItem(
type: 'settings',
localizedTitle: 'settings',
icon: 'settings',
),
],
);
Все этозакодируйте его в моем SplashScreen
, потому что документация плагина говорит, что приложение должно быть в раннем состоянии
Я ожидаю, что приложение откроет settings screen
и print 'settings'
, но откроет main screen
иprint 'settings'
если приложение уже открыто, но если его нет, оно пытается что-то открыть, а затем закрыть себя (не force close
сообщение)