Nativescript 如何从退出应用程序的页面重新打开应用程序?

Nativescript 如何从退出应用程序的页面重新打开应用程序?,nativescript,Nativescript,在用户退出应用程序进入设备屏幕后,我试图让我的应用程序重新打开到某种“主页”视图。这样做的目的是防止他们在登录后(比如说,他们刚开始退出应用程序时)返回登录屏幕,并在退出应用程序后重新打开应用程序时启动“主页”(登录)视图 当应用程序启动时,它会将用户发送到“加载”视图,在该视图中,应用程序会检查身份验证状态。一旦获得状态,它会将它们转移到“登录”视图或“登录”视图。一旦用户登录,我不希望他们能够返回到登录视图或“加载”视图,因此我在从“加载”或“登录”视图导航到“登录”视图时实现了clearH

在用户退出应用程序进入设备屏幕后,我试图让我的应用程序重新打开到某种“主页”视图。这样做的目的是防止他们在登录后(比如说,他们刚开始退出应用程序时)返回登录屏幕,并在退出应用程序后重新打开应用程序时启动“主页”(登录)视图

当应用程序启动时,它会将用户发送到“加载”视图,在该视图中,应用程序会检查身份验证状态。一旦获得状态,它会将它们转移到“登录”视图或“登录”视图。一旦用户登录,我不希望他们能够返回到登录视图或“加载”视图,因此我在从“加载”或“登录”视图导航到“登录”视图时实现了
clearHistory

问题是,当我在“登录”视图中点击设备返回按钮时,它将按预期从应用程序返回到设备。但是,当我从应用程序图标或“最近的屏幕”(android)打开应用程序备份时,它会再次打开应用程序,但会显示“加载”视图。只是这一次它实际上什么都不会做,这不是真正的问题。同样,这是一个事实,这一观点是显示在第一位

以下是我的“加载”视图导航代码:

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

根据我的理解,整个历史应该在导航时清除,将导航到的视图作为唯一的历史条目。因此,当用户回击时,它应该直接从最后一个视图(主页)转到设备屏幕(它会),并在用户重新打开应用程序时打开该视图(它不会)。有什么建议吗?

以下是我的做法:

在app.ts(或.js)上,在调用
application.start()
之前,您需要一些方法来检查用户是否已经过身份验证

当用户登录到您的应用程序时,请使用“应用程序设置”模块存储一些指示此操作的密钥


从“应用程序设置”导入*作为应用程序设置;
让你的钥匙=随便什么;
setString('userAuthed',yourKey);

在app.ts(.js)文件中

    import * as app from 'application';
    import * as appSettings from 'application-settings'

    let userAuthed = appSettings.getString('userAuthed');
    let x = JSON.parse(userAuthed) /// assuming you stringify some object and store it
    if (x.name && x.isValid) {
       app.start(''' your main page ''')
    } else {
       app.start(''' login page ''');
    }