Recuperar uma atividade após a notificação de aviso de Tempo limite

Estou tentando implementar a notificação de tempo limite. Aqui está o que eu quero fazer. Se o aplicativo voltar ao clima de segundo plano, após 5 minutos, ele deve avisar ao usuário que o aplicativo será desconectado. Após esta notificação, se o usuário abrir o aplicativo, ele deverá solicitar a senha; se o usuário inserir a senha correta, ele deverá recuperar a tela que ele deixou há 5 minutos. Meu problema é que não consigo salvar a atividade que o usuário deixou para recuperar depois de inserir a senha. Aqui está o que eu fiz até agora: adicionei uma contagem regressiva dentro do método onSaveInstanceState () e crie uma instância da intenção atual. Em TimeOutActivity, defini uma propriedade chamada savedActivity para passar a atividade atual nessa instância.

private boolean isTimedOut;
private TimeOutActivity timOutActivity;
private CountDownTimer timer;

@Override
protected void onSaveInstanceState(Bundle state) 
{
    super.onSaveInstanceState(state);
    if (timOutActivity == null)
    {
        timOutActivity = new TimeOutActivity();
        timOutActivity.setIntent(new Intent(getApplicationContext(), TimeOutActivity.class));
        **timOutActivity.savedActivity = this;**
        initializeTimer();
    }
}
private void initializeTimer()
{
    timer = new CountDownTimer(60000, 1000)
    {        
        public void onTick(long millisUntilFinished)
        {
            if (millisUntilFinished / 1000 == 55)
            {
                showSignOutWarning();
                isTimedOut = true;
            }
        }

        public void onFinish()
        {
            // Push local notification
            isSignedOut = true;
        }
    }.start();
}

Em seguida, no método onStart (), adicionei o seguinte código:

@Override
public void onStart()
{
    super.onStart();
    if (isTimedOut)
    {
        // Load timedOut activity
        startActivity(timOutActivity.getIntent());
        isTimedOut = false;
    }
}

Mas quando eu quero recuperar a atividade dentro do TimeOutActivity, minha propriedade (savedActivity) é nula. O que estou fazendo errado? Existe uma maneira melhor de salvar a atividade atual?

Atualização 31 de outubro de 2014 Eu defini uma classe chamada: App.java que estende o aplicativo. Por essa classe, eu posso definir variáveis globais com seus setters e getter. É como abaixo

public class NGVApp extends Application
{
    private WebView webView;

    public WebView getWebView()
    {
        return webView;
    }

    public void setWebView(WebView webView)
    {
        this.webView = webView;
    }
}

Em AndroidManifest.xml, na tag Application, adicionei este

android:name="your.app.bundle.name.App"

Então, no meu método WebViewActivity onStop (), defino a instância do webView como abaixo:

((App) this.getApplication()).setWebView(webView); 

E, finalmente, no método onCreate (), adicionei:

@Override
    protected void onCreate(Bundle savedInstanceState)
    {
        if(((NGVApp) this.getApplication()).getSavedInstanceBundle() != null)
        {
            savedInstanceState = ((NGVApp) this.getApplication()).getSavedInstanceBundle();
        }
}

Consegui obter com êxito a instância do webView e ele não é mais nulo, mas não contém o conteúdo do webView (aquele em que o usuário interagiu antes do tempo limite) tem alguma idéia?

questionAnswers(2)

yourAnswerToTheQuestion