2012-09-23 35 views
5

Có thể ai đó vui lòng cho tôi biết cách tắt nút quay lại của Android (Đó là nút quay lại được tìm thấy trên tất cả điện thoại Android).Làm cách nào để tắt nút quay lại của điện thoại trong Android bằng Jquerymobile, PhoneGap

Tôi đang sử dụng điện thoại di động Jquery với PhoneGap. Tôi tìm thấy điều này trực tuyến trong tài liệu Cordova, nhưng điều này không làm việc cho tôi. Sự kiện nút quay lại thậm chí không đăng ký.

function onLoad() { 
    console.log("**** INSIDE ONLOAD FUNCTION *****"); 
    document.addEventListener("backbutton", onBackKeyDown, false); 
} 

// Handle the back button 
function onBackKeyDown() { 

    // Pressing the back button does not print this message. 
    console.log("**************** INSIDE BACK BUTTON *************"); 
} 
+1

Người dùng mong đợi để có thể sử dụng nút BACK để điều hướng ứng dụng của họ, hoặc có thể rời khỏi ứng dụng. Nếu bạn muốn * làm * một cái gì đó * tích cực * với nút BACK, điều đó là tốt. Ví dụ, bạn có thể sử dụng nó để điều hướng trong ứng dụng của riêng bạn, cho đến khi người dùng bắt đầu, tại thời điểm đó bạn cho phép hành vi nút BACK bình thường xảy ra. Nếu không, vui lòng chỉ để lại nút BACK. – CommonsWare

+1

@Ouadie câu trả lời là chính xác. Vấn đề với mã của bạn là bạn không chờ đợi sự kiện "deviceready" trước khi đăng ký trình nghe sự kiện quan trọng của bạn. –

Trả lời

13

tôi đã sử dụng backKeyDown và nó làm việc cho tôi:

function onDeviceReady() { 
     document.addEventListener("backbutton", backKeyDown, true); 
     console.log("PhoneGap is ready"); 
    } 

    function backKeyDown(d) { 
     navigator.app.exitApp(); // To exit the app! 
     e.preventDefault(); // to disable the back 
    } 

chắc chắn rằng PhoneGap is ready!

Cập nhật: Bạn có thể để xử lý sản phẩm nào để vô hiệu hóa nó

+0

Nếu câu trả lời này giải quyết được vấn đề của bạn, hãy đánh dấu nó là câu trả lời cho cả niềm vui của Ouadie và những người có câu hỏi tương tự mà kết thúc ở đây. – Ouadie

+0

onDeviceReady chức năng không được thực hiện cho tôi. Tôi đã thử sử dụng điều này trước đây. Tôi đang làm chính xác những gì có trong tài liệu và những gì bạn đã nêu ở trên. Ứng dụng của tôi hoạt động tốt, ngoại trừ nút quay lại. Bạn có bất cứ đề nghị nào tại sao onDeviceReady không được gọi? Cảm ơn Cảm ơn bạn – user1478810

+0

vẫn đang tìm kiếm giải pháp? – Ouadie

0
sometimes you can get blocking Back button, sometimes not. 

document.addEventListener("deviceready", onDeviceReady, false); 
function onDeviceReady() { 
    document.addEventListener("backbutton", function (e) { 
     e.preventDefault(); 
    }, false); 
} 
Các vấn đề liên quan