簡體   English   中英

從后台打開應用程序時如何進入登錄屏幕?

[英]How to go to Login Screen when app is opened from background?

當用戶單擊“主頁”按鈕應用程序將進入后台時,如果用戶從后台打開該應用程序,則應進入登錄屏幕而不是上一個活動...請幫助我。

如果您有多個活動,那么跟蹤“所有活動都已暫停-請登錄”或類似的內容可能會很麻煩。 您可以做什么,這可能會容易得多:

  • 您有一個登錄活動
  • 具有不同片段的主要活動

假設您想要某種“登錄超時”,您可以像這樣跟蹤主要活動的onStop / onResume:

@Override
protected void onPause() {
    activityWasPausedOn = DateTime.now().getMillis();
    super.onPause();
}

@Override
protected void onResume() {
    super.onResume();
    Seconds seconds = Seconds.secondsBetween(new Instant(activityWasPausedOn), new Instant());
    if (seconds.getSeconds() >= 200) {  //login timeout?
        //go to login activity
        Intent i = new Intent(....);
        startActivity(...);
        finish();
    }
}

android主鍵沒有確切的回調函數。 您應該根據活動數將注銷處理代碼放入onPause()onResume()方法中。

如果您只有兩個活動,請嘗試以下操作:

@Override
protected void onPause() {
    super.onPause();
    if (!isFinishing()) {
        finish();
        //logout();
    }
}

您可以重寫onPause和onResume方法來實現。

正如您提到的,返回按鈕返回登錄屏幕時遇到問題,您可以使用解決此問題

finishAffinity();

它用於完成當前活動以及緊接其下的所有活動。 它通常用於注銷方案。

您可以在onPause()上實現注銷邏輯,然后在該處調用finishAffinity(從堆棧中刪除所有活動,因此單擊后退按鈕不會給您帶來麻煩),然后將用戶帶到onResume()上的登錄頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM