2012-08-23 7 views
5

Tôi đang làm việc trên một ứng dụng trò chuyện trong Android bằng cách sử dụng c2dm (gcm). Mỗi tin nhắn nhận được sẽ làm tăng thông báo nếu ứng dụng của tôi không thể hiển thị trực tiếp. Vấn đề là khi người dùng tắt lưới, trong trường hợp đó, các tin nhắn c2dm sẽ được xếp chồng lên nhau và nhận được tất cả cùng một lúc khi anh ấy trở lại trực tuyến. Một âm thanh của âm thanh thông báo là kết quả từ việc thêm tất cả các thông báo trong khoảng thời gian 1 giây. Làm thế nào để ngăn chặn điều này? hành vi mong muốn là một mà âm thanh thông báo được chơi một lần, trong khi tickertext và nội dung thông báo được cập nhật với nhận tin nhắn cuối cùngNgăn chặn nhiều âm báo thông báo android

Trả lời

5

Tôi đã kết thúc bằng cách sử dụng báo thức được đặt 1 giây trong tương lai. Tôi e đặt nhiều báo thức với cùng một ý định, những cái trước đó sẽ tự động bị xóa. Vì vậy, khi một thứ hai đến trong khoảng thời gian 1 giây nó xóa đầu tiên.

0

Sử dụng các collapse_key chỉ xử lý "thông báo" cuối cùng của ngăn xếp

Đối thêm thông tin, xem https://developers.google.com/cloud-messaging/concept-options#collapsible_and_non-collapsible_messages

+0

Đây không phải là một lựa chọn cho tôi vì tôi sử dụng tin nhắn có tải trọng (tức là không chỉ có một tin nhắn trò chuyện mới, mà còn là nội dung văn bản). Vì vậy, nếu một tin nhắn được thu gọn, nó bị bỏ lỡ bởi khách hàng của tôi. Nếu GCM sẽ thêm cờ cho biết thư đã gửi trước đó đã bị xóa, tôi có thể liên hệ với máy chủ và thực hiện đồng bộ hóa. Nhưng AFAIK không có cách nào để nói rằng thông điệp bị sụp đổ. –