0

有什么方法可以确定onPause()调用时下一个活动将是什么。

我需要知道,因为当下一个活动不是我自己的应用程序中的一个活动时,我需要执行某些我不想在移动到我自己的应用程序中的活动时执行的清理工作。我知道我可以在我的应用程序中设置某种标志,startActivity()但我想知道是否有内置的方法来获取它。

4

1 回答 1

0

无法猜测哪个其他活动获得了焦点。我为此实现了一个应用程序类,其中所有活动都调用了一个自定义挂起函数,该函数等待恢复调用 10 秒。如果任何活动都没有进行恢复调用,我的应用程序就知道它必须关闭并退出。

public ExampleApp extends Application {
    boolean shutdown;

    public void suspend() {
       shutdown=true;
       voodooFunctionToInvokeCallback10SeondsDelayed();
    }

    public void resume() {
       shutdown=false;
    }

    public void callback() {
        if(shutdown) {
            // shutdown code
        }
    }
}

public MyActivity extends Activity {
    public void onResume() {
        ((ExampleApp)getApplicationContext()).resume();
    }

    public void onPause() {
        ((ExampleApp)getApplicationContext()).suspend();
    }
}
于 2013-01-27T14:55:47.290 回答