1

私はAndroidアプリケーションを開発しており、デバイスから戻るボタンを押すと(人の通常のプレス時間、1秒以下)、アクティビティから前のアクティビティ(メニュー)にスキップして、アプリケーションを終了します。しかし、戻るボタンをすばやくタップすると、期待どおりに反応し、メニューに移動します。私は解決策を見つけようとしましたが、成功しませんでした。私は常に戻るボタンのデフォルトの動作をオーバーライドしようとしましたが、成功しませんでした。戻るボタンが反応する反応時間を設定する方法はありますか?

よろしくお願いします!

PS-通常のプレス時間で押されたときに戻るボタンで期待される動作を維持する他のアクティビティがあります。

4

2 に答える 2

1

「戻るボタンが反応する反応時間を設定する方法はありますか?」

はい、(currentTime-lastTimePressed)を計算することで、ボタンが押された時間を記録し、onBackPressedで異なる反応をすることができます。

これが以前のアクティビティで機能するようにするには、アクティビティにstartActivityForResultを要求して、アクティビティが終了したときに時間を渡すこともできます。これにより、アクティビティも終了する必要があるかどうかを通知できます。

于 2012-10-15T18:06:24.987 に答える
1

すでに存在するアプリケーション用の追加オプションを開発していましたが、Androidのアクティビティからではなく、SEActivityと呼ばれるすでに拡張されたアクティビティから拡張する必要があることがわかりました。したがって、この拡張バージョンのActivityでは、次のようにonKeyDownメソッドをオーバーライドします。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        return true;
    }
    else
        return super.onKeyDown(keyCode, event);
}

このSEActivityを拡張することにより、[戻る]ボタンは期待される動作で機能します。とにかくありがとう :)

于 2012-10-23T11:19:53.650 に答える