2016-08-11 4 views
0

私は、ユーザーがアプリをデバイス画面に戻した後、自分のアプリを「ホーム」ビューに再オープンしようとしています。その目的は、ログインしたログイン画面(ログインしたばかりのアプリ)からログイン画面に戻ることを防ぐことです。アプリを後退させた後アプリをバックアウトしたページからアプリを再オープンするには?

アプリが起動すると、ユーザーは「読み込み中」ビューに移動し、そこでアプリは認証ステータスを確認します。ステータスが取得されると、ステータスが「ログイン」ビューまたは「ログイン」ビューに転送されます。ユーザーがログインすると、ログインビューや「読み込み」ビューに戻ることができないようにするため、「読み込み」ビューまたは「ログイン」ビューから「ログイン」ビューにナビゲートするときにclearHistoryを実装しました。ログインしました。

問題は、「ログイン」ビューでデバイスの戻るボタンをタップしたときに、意図したとおりにデバイスからアプリケーションに戻ってしまうことです。しかし、アプリのアイコンまたは「最近の画面」(アンドロイド)からアプリを開くと、アプリが再び開きますが、「読み込み中」ビューが表示されます。今回は実際には何もしませんが、それは本当に問題ではありません。もう一度、この見解が最初に現れているという事実です。ログインページの

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にも使用されます。

は、ここに私の「ロード」ビューナビゲーションコードです。

私が理解しているように、すべての履歴はナビゲートするとクリアされ、ビューは唯一の履歴エントリとしてナビゲートされます。したがって、ユーザーがタップバックすると、最後のビュー(自宅)からデバイスの画面(その画面)に直接移動し、ユーザーがアプリを再オープンしたときにそのビューを開く必要があります。ここにアドバイスはありますか?

答えて

1

ここで私は何をすべきかです:あなたapp.ts(または.jsファイル)に

ユーザーが前application.start()を呼び出すにauth'dされているかどうかを確認するためにいくつかの方法が必要です。

ユーザーがあなたのアプリにログインするときには、アプリケーション設定モジュールを使用してこれを示す鍵を保存します。 app.ts(.jsファイル)に

import * as appSettings from 'application-settings'; let yourKey = 'whatever'; appSettings.setString('userAuthed', yourKey);

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 '''); 
    } 
ファイル
関連する問題