Bạn có thể nắm bắt sự kiện nút BACK trong PhoneGap, tuy nhiên không phải nút HOME (đây là một thực hành Android kém vì có sự mong đợi người dùng rõ ràng bất kể ứng dụng bạn đang sử dụng về những gì phím HOME làm: gửi cho bạn trở lại màn hình chính của bạn! Bạn không muốn ghi đè chức năng này).
Tôi sẽ hướng dẫn bạn từng phần mã trong PhoneGap (LATEST nguồn! Kéo từ github cho phiên bản mới nhất của khung công tác điện thoại) để được hướng dẫn.
Đầu tiên, có một 'BrowserKey' đối tượng java ràng buộc với JavaScript 'BackButton' toàn cầu:
http://github.com/phonegap/phonegap-android/blob/master/framework/src/com/phonegap/DroidGap.java#L291
Định nghĩa của lớp này là ở đây: http://github.com/phonegap/phonegap-android/blob/master/framework/src/com/phonegap/BrowserKey.java
Điều đầu tiên bạn cần phải làm trong ứng dụng của bạn (tôi đề nghị bạn chạy điều này trong quá trình khởi tạo ứng dụng) là để cho phía gốc của khung công tác biết rằng bạn đang ghi đè chức năng nút BACK. Bạn sẽ làm điều này trong JavaScript với một cuộc gọi đơn giản:
BackButton.override();
Từ đó trở đi, bạn có thể đính kèm một xử lý sự kiện cho sự kiện 'backKeyDown' của tài liệu để thực hiện luận mỗi khi nút BACK là hit. Một cái gì đó như thế này nên làm việc:
document.addEventListener('backKeyDown', function(e) {
alert('you hit the back key!');
}, false);
Là một phụ lục, đây là mã JavaScript mà kết thúc tốt đẹp sự kiện nút quay lại cử: http://github.com/phonegap/phonegap-android/blob/master/framework/assets/js/keyevent.js
Về cơ bản, sau khi gọi BackButton.override(), phía mẹ đẻ của framework sẽ gọi window.keyEvent.backTrigger() mỗi khi nút BACK được nhấn.
Nguồn
2010-09-05 19:50:46
bạn có thể cụ thể hơn với câu hỏi –
có một ứng dụng cho Android bằng cách sử dụng thẻ điện thoại hay không. Tôi muốn nắm bắt các bấm nút HOME và BACK của điện thoại Android trong trang html để thoát/quay lại một cách duyên dáng. – Newbee