在关闭之前在Android应用程序上执行简单代码

时间:2013-09-11 04:52:22

标签: java android

您好,我一直在尝试将airpush整合到andriod中,但我遇到了一些问题。

@Override   public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
            mWebView.goBack();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

正如您所看到的那样,andriod会通过历史记录返回webview代码。

问题是我想在没有更多历史记录时执行此代码,这意味着应用程序即将关闭时。

 airpush.startLandingPageAd();

任何帮助都将非常感谢大家:)..

2 个答案:

答案 0 :(得分:1)

您需要编辑代码,如下所示:

@Override public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK)) {
        if(mWebView.canGoBack())
        {
        mWebView.goBack();
        return true;
        }
        else
        {
         //Your webview doesn't have any history here and you can close your app here.
         //You can also execute your Airpush code here.
         airpush.startLandingPageAd();
         return true;
        }    
    }
    return super.onKeyDown(keyCode, event);
}


我希望这会有所帮助。

答案 1 :(得分:0)

在活动隐藏之前,考虑覆盖onPause Activity方法来执行一段代码。

@Override
protected void onPause() {
  super.onPause();
  airpush.startLandingPageAd();
}