0
我試圖實現長按鍵的認可,我已經覆蓋了的onkeydownAndroid的長期回按鍵,避免FLAG_CANCELED
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
// event.startTracking();
if (backPressedStarted == -1) {
progressBar.setProgress(0);
progressBar.setVisibility(View.VISIBLE);
backPressedStarted = System.currentTimeMillis();
} else {
int pressDuration = (int) (System.currentTimeMillis() - backPressedStarted);
progressBar.setProgress(pressDuration);
if (pressDuration > 5000)
showExitDialog();
}
return true;
}
return super.onKeyDown(keyCode, event);
}
〜3.8秒後,系統調度與標誌的onkeyup事件: FLAG_CANCELED
我試着忽略它,並在關鍵多達方法返回true或false,但它似乎沒有工作...
有沒有辦法解決?我可以定義最長的按下時間嗎?
== == UPDATE
好了,當我刪除了事件跟蹤的註釋中,長按回撥被調用,然後返回true或false仍然沒有改變最終結果的使用keyUp取消在那段時間之後。
謝謝。
不' onKeyLongPress()'或'onBackPressed()'而不是? – Geobits
長按不會被調用...而按下的按鈕只有在活動中添加返回super.onKeyDown(...)時纔會被調用。 – TacB0sS
我已經更新了這個問題 – TacB0sS