2013-01-08 31 views
6

Tôi đang xây dựng ứng dụng của mình thông qua PhoneGap Build trực tuyến. Tôi muốn thay đổi hành vi mặc định của Nút Quay lạiDừng thoát trên Nút Quay lại Android trong PhoneGap - Xây dựng

$(document).ready(function(e) { 
    document.addEventListener("backbutton", onBackKeyDown, false); 
}); 

function onBackKeyDown(){ 
    alert('back'); 
    return false; 
} 

Không hoạt động Tôi đã tìm kiếm giải pháp. Nhưng, tất cả đều hiển thị để thay đổi mã số java trong thư viện PhoneGap, vốn không nằm trong trường hợp của tôi. Tôi đang gửi đơn đăng ký của mình ở định dạng .zip với config.xml bên trong.

Có thể với config.xml?

+0

Điểm tốt. +1 –

Trả lời

6

Trước hết tôi đã làm sai như chỉ bởi @Mejo, Cảm ơn bạn. Đây là giải pháp cho vấn đề.

Bước 1: Bao gồm Script sang HTML không cần nó thể chất bên trong ứng dụng zip, như bao gồm tự động bằng PhoneGap Build

<script src="cordova.js"></script> hoặc <script src="phonegap.js"></script> ai trong số họ sẽ làm việc tốt.

Bước 2: Thêm phần này vào kịch bản để có được thiết bị sẵn sàng gọi:

document.addEventListener("deviceready", onDeviceReady, false); 

Bước 3: Thêm kiện nghe để lại nút và thêm mã của bạn để cuộc gọi mà :

function onDeviceReady(){ 
    document.addEventListener("backbutton", onBackKeyDown, false); 
} 
function onBackKeyDown(){ 
    alert('back'); 
    return false; 
} 

Vẫn hiện tại nó sẽ không hoạt động i f bạn không đặt sở thích của minSDK để ứng dụng bằng cách config.xml

Bước 4: Thêm phần này vào khu vực ưu tiên của config.xml

<preference name="android-minSdkVersion" value="5" />

Để tham khảo : http://community.phonegap.com/nitobi/topics/how_to_handle_back_button_in_android

3

nó nói trong tài liệu Cordova API mà

Thông thường, bạn sẽ muốn đính kèm một event listener với document.addEventListener một khi bạn nhận được 'deviceready' sự kiện PhoneGap.

Vì vậy, thay đổi mã của bạn như thế này

document.addEventListener("deviceready", onDeviceReady, false); 

// PhoneGap is loaded and it is now safe to make calls PhoneGap methods 
function onDeviceReady() { 
    // Register the event listener 
    document.addEventListener("backbutton", onBackKeyDown, false); 
} 

// Handle the back button 
function onBackKeyDown() { 
     //Your backbutton code 
} 
+0

Cảm ơn bạn @Mejo cho câu trả lời của bạn thực sự có một điều mà tôi sẽ đăng câu trả lời. –

Các vấn đề liên quan