WebView не восстановлен, сохраненный экземпляр равен нулю - PullRequest
0 голосов
/ 05 ноября 2019

Я пытаюсь создать экран входа в приложение.

У некоторых пользователей включена поддержка 2FA, поэтому они перенаправляются на ввод ключа 2FA.

Поскольку 2FA в основном хранятся на их телефоне, им приходится переключать приложение. [например, HomeButton -> Authy -> Resume]
При возврате они должны снова ввести свое имя пользователя и пароль.

(Очень неудобно, если вы тоже используете менеджер паролей.)

Важные методы:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_startup);


    webView = findViewById(R.id.webview);
    webView.setWebViewClient(createWebViewClient());
    System.out.println("DEBUG: " + (savedInstanceState == null));

    if (savedInstanceState != null) {
       webView.restoreState(savedInstanceState);
    } else {
       webView.loadUrl(authURL);
    }
}

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    webView.saveState(outState);
}

@Override
protected void onRestoreInstanceState(Bundle state) {
    super.onRestoreInstanceState(state);
    webView.restoreState(state);
}

Так что при вызове onCreate Bundle всегда равен нулю. Есть ли способ сохранить правильную страницу для веб-просмотра?

При необходимости с радостью предоставим дополнительную информацию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...