2016-01-27 24 views
6

Có một số loại chức năng mà tôi có thể gọi là lắng nghe xem ứng dụng sắp thoát hay đóng hoặc đi sâu vào nền. Về cơ bản bất kỳ sự kiện nào có nghĩa là "người dùng đã ngừng sử dụng ứng dụng "?Chức năng chạy Ionic trước khi ứng dụng đóng

Tôi là ứng dụng của tôi, tôi xây dựng 'nhật ký người dùng' theo dõi người dùng khi họ đang điều hướng qua ứng dụng. Thay vì gửi các mẩu dữ liệu liên tục đến máy chủ khi các sự kiện này xảy ra, tôi muốn gửi toàn bộ lô trong một lần ngay trước khi người dùng ngừng sử dụng ứng dụng (một lần nữa, cho dù điều đó có nghĩa là đóng ứng dụng hoàn toàn, gửi nó đến nền, vv)

Và cuối cùng, nếu một hàm như vậy thực sự tồn tại .. bạn đặt hàm đó ở đâu? Trong số app.js của bạn? Hay bạn phải đặt người nghe đó vào mọi bộ điều khiển ứng dụng của bạn?

Trả lời

2

Bạn có thể kiểm tra danh sách các sự kiện này từ tài liệu Cordova:

https://cordova.apache.org/docs/en/5.4.0/cordova/events/events.html

Đặc biệt Pause event:

Ngọn lửa sự kiện khi một ứng dụng được đưa vào nền.

document.addEventListener ("pause", yourCallbackFunction, false);

+0

cảm ơn và bạn sẽ đặt chức năng đó ở đâu? App.js hoặc có một người nghe như vậy trong mỗi bộ điều khiển của bạn? – Tiwaz89

+1

IMO bạn có thể thêm các trình lắng nghe sự kiện đó vào app.js bên trong hàm 'app.run()' – beaver

+0

Điều này hoạt động tốt trong trường hợp ai đó đang vuốt ra khỏi ứng dụng, nhưng có cách gọi hàm khi tôi thu nhỏ hoặc chuyển sang một ứng dụng khác? –

3

Mã này hoạt động trong lối thoát ứng dụng gốc ionic2 và trong trình duyệt. Trong trình duyệt, điều này xảy ra khi nút tải lại URL được nhấn hoặc tab trình duyệt bị đóng.

platform.pause.subscribe(e => { 
    this.OptionsSave(); 
}); 

window.addEventListener('beforeunload',() => { 
    this.OptionsSave(); 
}); 
Các vấn đề liên quan