私はバックキーの機能を無効にしようとしています。ユーザーが一度押すと、前の画面に戻ります。しかし、バックキーを長押しすると(2秒以上)、アプリケーションを終了します。今では長押しと通常押しの区別は?
は、私は私の活動にこれらの2つのメソッドをオーバーライドしている:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event){
if (keyCode == KeyEvent.KEYCODE_BACK) {
//manage short keypress
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event){
if (keyCode == KeyEvent.KEYCODE_BACK) {
//manage long keypress (different code than short one)
return true;
}
return super.onKeyLongPress(keyCode, event);
}
しかしがonKeyLongPress
コールバックが呼び出されることはありません、イベントは常にonKeyDown
方法で受信されるので。
両方の方法を使用する方法はありますか?または、それをすべてonKeyDown
で行い、それを検出するために繰り返し数/ミリ秒数を使用しますか?
干し草このリンク[KeyEventのドキュメント](http://developer.android.com/reference/android/view/KeyEvent.Callback.html#onKeyDown%28int,%20androidをご確認ください。 view.KeyEvent%29) –