Navigator.of(context).pop
учитывает, как система обрабатывает нажатие назад, а Navigator.pop(context)
- нет.
Ниже показан сценарий, в котором я отключил нажатие кнопки «назад», но вторая кнопка все еще позволяет это.
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: () => Future.value(false), // disabling back press
child: Scaffold(
appBar: AppBar(title: Text("Back button")),
body: Center(
child: Column(
children: <Widget>[
RaisedButton(onPressed: () => Navigator.of(context).pop), // won't allow back press
RaisedButton(onPressed: () => Navigator.pop(context)), // allows back press
],
),
),
),
);
}