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

ご覧のとおり、履歴を介した webview の Android 戻るコードです。

問題は、履歴がなくなったとき、つまりアプリケーションが閉じようとしているときに、このコードを実行したいということです。

 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 に答える