Dưới đây là các bước để tái sản xuất:Ionic registerBackButtonAction không hoạt động
- Tạo một dự án ion cơ bản "ion thử nghiệm bắt đầu sidemenu"
- Thêm nền tảng Android "nền tảng ion thêm android"
Trong app.js thêm mã:
$ionicPlatform.registerBackButtonAction(function (event) { alert("back button action handler"); event.preventDefault(); }, 999);
mã này có thể được thêm vào trong các phương pháp .run hoặc trong $ ionicPlatform.ready() phương pháp - kết quả tương tự, không gia công ng
- "ion build android", sau đó "ion upload" -> hoặc manualy đặt apk trên một thiết bị
[BUG] - cảnh báo không được hiển thị và xem lịch sử chuyển hướng được thực hiện. Nó giống như hành động mà tôi cố gắng đăng ký không được xem xét.
Tôi đang làm gì sai? Tôi đã thử mã này trong một bộ điều khiển cũng, cũng e.stopPropagation() hoặc e.stopImmediatePropagation vẫn không thành công.
Tôi có Ionic mới nhất (1.4.5) và Cordova 4.3.0, được thử nghiệm trên một số thiết bị Samsung. Trong Ripple nó hoạt động ok.
Cố gắng nghe cho sự kiện này sử dụng document.addEventListener ('backbutton', function() {alert ('backbutton phát hiện')}, false); – JimTheDev
Nó có thể không hoạt động nhưng đó là sự kiện mà Ionic đang gói nên nó sẽ bị sa thải. – JimTheDev
Nếu tôi sử dụng document.addEventListener ('backbutton', ......) nó hoạt động, nhưng tôi không có quyền truy cập vào các dịch vụ ion trong cuộc gọi lại đó để kiểm tra tên trạng thái hiện tại, kiểm tra lịch sử, để thêm điều kiện để thực hiện trở lại trong lịch sử hoặc ionic.Platform.exitApp() tùy thuộc vào trạng thái. – gmodrogan