在用户退出应用程序到设备屏幕后,我正试图让我的应用程序重新打开各种“主页”视图 . 目的是让他们在登录后不再返回登录界面(例如,当他们刚开始退出应用程序时),并在他们重新打开时启动“主页”(登录)视图退出后的应用程序 .
当应用程序启动时,它会将用户发送到'loading'视图,应用程序会在该视图中检查身份验证状态 . 获得状态后,它会将它们传输到'login'视图或'logged in'视图 . 用户登录后,我没有't want them to be able to go back to the login view, or the '加载'视图,因此我在从'loading'或'login'视图导航到'logged in'视图时实现了 clearHistory .
问题是,当我在“登录”视图中点击设备后退按钮时,它将按预期从应用程序退回到设备 . 但是,当我从应用程序图标或“最近屏幕”(android)打开应用程序时,它将再次打开应用程序,但显示“加载”视图 . 只有这次它实际上不会做任何事情,这不是真正的问题 . 事实上,这个观点首先显示出来了 .
这是我的'loading'视图导航代码:
var frameModule = require("ui/frame");
var home_navigation = {
moduleName: "views/home/home",
clearHistory: true
};
if(logged){
var topmost = frameModule.topmost();
topmost.navigate(home_navigation);
}
else {
var topmost = frameModule.topmost();
topmost.navigate(splash_navigation);
}
对于登录页面,在登录时导航到主页时也会使用 clearHistory .
根据我的理解,整个历史应该在导航时清除,将视图导航为唯一的历史记录条目 . 因此,当用户点击时,它应该直接从最后一个视图(主页)转到设备屏幕(它执行),并在用户重新打开应用程序时打开该视图(它不会) . 有什么建议吗?