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()が機能しました。
分からないことは多いですが、ひとまず躓いたら一度この部分を疑ってみるのもいいのかもしれません。