[英]Capturing back key press on PhoneGap for Android
我正在使用PhoneGap進行Android應用程序開發,而我卻停留在設備上捕獲后退按鍵! 我嘗試了其他線程和官方維基頁面上的所有內容,但似乎都沒有用! :(
我可以使用keyEvent.menuTrigger和keyEvent.searchTrigger捕獲菜單和搜索鍵,但似乎無法捕獲后退按鈕按下! 我同樣嘗試了keyEvent.backTrigger,但它沒有用! 為'backKeyDown'事件添加事件監聽器也不起作用!
這是我的代碼:
BackButton.override();
document.addEventListener('backKeyDown', function(e) {
console.log('Caught it!');
}, false);
keyEvent.searchTrigger= searchPressed;
keyEvent.menuTrigger=menuPressed;
keyEvent.backTrigger=backPressed;
控制台說:
Line 1 : Uncaught TypeError: Cannot call method 'backTrigger' of undefined
這是不是意味着調用了something.backTrigger(),但是對象不存在。 那是什么東西? 或者有什么辦法嗎?
與KeyEvent也一樣,沒有運氣! 請幫忙!
提前致謝! :)
有關Android按鈕處理程序的PhoneGap Wiki頁面已針對PhoneGap 0.9.5進行了更新:
// This is your app's init method. Here's an example of how to use it
function init() {
document.addEventListener("deviceready", onDR, false);
}
function onDR(){
document.addEventListener("backbutton", backKeyDown, true);
//boot your app...
}
function backKeyDown() {
// do something here if you wish
// alert('go back!');
}
適用於PhoneGap 0.9.6
您還可以使用menubutton和searchbutton事件處理其他按鈕。
如果你使用api級別高於2.0,那么你可以覆蓋以下功能
@Override
public void onBackPressed() {
// do something on back.
return;
}
跟蹤按下按鈕事件。
如果沒有,那么您可以覆蓋onKeyDown活動事件並跟蹤后退按鈕
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
// do something on back.
return true;
}
return super.onKeyDown(keyCode, event);
}
這是我在PhoneGap w / xuijs中的表現:
// inside your 'deviceready' handler
if (device.platform == 'Android') {
BackButton.override();
// add backkeyDown handler
x$(document).on('backKeyDown', onBackKeyDown);
}
// back button handler
function onBackKeyDown() {
// do something
// or
// BackButton.exitApp();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.