Lý lịch:
Tôi đang sử dụng PendingIntent để báo thức qua AlarmManager.
Vấn đề:
Lúc đầu, tôi nghĩ rằng để hủy những cái trước đó, tôi phải cung cấp mã yêu cầu chính xác mà tôi đã sử dụng trước đó để bắt đầu báo thức.
Nhưng sau đó tôi phát hiện ra mình đã sai, như API hủy cho biết:
Loại bỏ mọi báo thức có Mục đích phù hợp. Mọi báo thức, thuộc bất kỳ loại nào, có Ý định khớp với báo thức này (như được định nghĩa bởi filterEquals (Ý định)), sẽ bị hủy.
nhìn vào " filterEquals ", tài liệu cho biết:
Xác định xem hai ý định có giống nhau cho mục đích phân giải ý định (lọc) hay không. Nghĩa là, nếu hành động, dữ liệu, kiểu, lớp và danh mục của chúng giống nhau. Điều này không so sánh bất kỳ dữ liệu bổ sung nào có trong ý định.
vì vậy tôi không hiểu "Mã yêu cầu" dùng cho ...
Câu hỏi:
"Mã yêu cầu" được sử dụng để làm gì?
Điều gì sẽ xảy ra nếu tôi tạo nhiều báo thức với cùng một "Mã yêu cầu"? họ có đè lên nhau không?
If you truly need multiple distinct PendingIntent objects active at the same time (such as to use as two notifications that are both shown at the same time), then you will need to ensure there is something that is different about them to associate them with different PendingIntents. This may be any of the Intent attributes considered by Intent#filterEquals(Intent), or different request code integers supplied.