我正在使用一个具有锁定屏幕的应用程序,但是在使它正常运行方面存在一些问题。现在,当用户挂起/恢复应用程序时,我正在使用didChangeAppLifecycleState
导航到锁定屏幕。我还使用WillPopScope
拦截并拒绝后退按钮。这种方法的问题在于,按下“后退”按钮却什么也没发生就不会感觉很直观。理想情况下,我希望使用后退按钮将用户带出应用程序,并在他们处于锁定屏幕时返回其操作系统主屏幕。我还想以此方式维护用户的路线历史记录,以确保他们成功解锁该应用程序。
有什么方法可以完成我想做的事情,还是我应该接受后退按钮在锁定屏幕上什么都不会做的事情?
答案 0 :(得分:1)
您可以在LockScreen状态下创建一个标识符,并在onWillPop
中检查该标识符,如果用户正在从锁定屏幕上按“后退”按钮,则退出应用程序。
String identifier = "lockscreen";
bool onWillPop() {
if (identifier == "lockscreen") {
SystemNavigator.pop();
SystemChannels.platform.invokeMethod('SystemNavigator.pop'); //preferred.*
return true;
}
}
SystemNavigator.pop():在iOS上,对此方法的调用将被忽略,因为Apple的人机界面指南指出应用程序不应自行退出。