LoginSignup
11
10

More than 5 years have passed since last update.

onBackPressed()で戻るボタンの指定をしても機能しない時の対処法

Posted at

WebViewのアプリを作っていて実機の戻るボタンを押した時にurlを1つ戻る様にコードを書いていたのですが、goback()が呼び出されたにも関わらずにアプリが終了してホーム画面に戻ってしまいました。
以下がそのときのコードです。

@override
public void onBackPressed(){
  super.onBackPressed();
  if(webview.canGoBack()){
            Log.d("goback", "webview will goback");
            webview.goBack();
    }else{
            Log.d("finish", "will finish the Activity");
            moveTaskToBack(true);
    }
}

ログを取ってみるとgoback()をしっかり通過しているのですが、最後にshowStatusIcon on inactive InputConnectionと表示されて終了してしまっています。

ここで

super.onBackPressed();

の部分を取り除いた所、今度はアプリが終了することなくgoback()が機能しました。

分からないことは多いですが、ひとまず躓いたら一度この部分を疑ってみるのもいいのかもしれません。

11
10
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
10