1

您好,我一直在尝试将 airpush 集成到 Android 中,但我遇到了一些问题。

@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();

任何帮助将不胜感激人:)..

4

2 回答 2

2

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

@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);
}


我希望这有帮助。

于 2013-09-11T04:57:19.630 回答
0

考虑在活动隐藏之前执行一段代码的重写onPause方法。Activity

@Override
protected void onPause() {
  super.onPause();
  airpush.startLandingPageAd();
}
于 2013-09-11T04:59:04.570 回答