Có cách nào trong Android để phát hiện khi người dùng vuốt thông báo sang bên trái và xóa thông báo đó không? Tôi đang sử dụng một thiết bị báo động để đặt cảnh báo lặp lại và tôi cần cảnh báo lặp lại của mình để dừng khi thông báo bị người dùng hủy. Dưới đây là mã của tôi:Cách phát hiện xem một thông báo đã bị loại bỏ chưa?
Thiết lập cảnh báo lặp đi lặp lại:
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), repeatFrequency, displayIntent);
mã thông báo của tôi:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Get the notification ID.
int notifID = getIntent().getExtras().getInt("Reminder_Primary_Key");
//Get the name of the reminder.
String reminderName = getIntent().getExtras().getString("Reminder_Name");
//PendingIntent stores the Activity that should be launched when the user taps the notification.
Intent i = new Intent(this, ViewLocalRemindersDetail.class);
i.putExtra("NotifID", notifID);
i.putExtra("notification_tap", true);
//Add FLAG_ACTIVITY_NEW_TASK to stop the intent from being launched when the notification is triggered.
PendingIntent displayIntent = PendingIntent.getActivity(this, notifID, i, Intent.FLAG_ACTIVITY_NEW_TASK);
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification notif = new Notification(R.drawable.flag_red_large, reminderName, System.currentTimeMillis());
CharSequence from = "Here's your reminder:";
CharSequence message = reminderName;
notif.setLatestEventInfo(this, from, message, displayIntent);
//Pause for 100ms, vibrate for 250ms, pause for 100ms, and vibrate for 500ms.
notif.defaults |= Notification.DEFAULT_SOUND;
notif.vibrate = new long[] { 100, 250, 100, 500 };
nm.notify(notifID, notif);
//Destroy the activity/notification.
finish();
}
Tôi biết tôi cần phải gọi alarmManager.cancel(displayIntent)
để hủy báo động lặp đi lặp lại của tôi. Tuy nhiên, tôi không hiểu nơi để đặt mã này. Tôi chỉ cần hủy thông báo lặp lại khi người dùng đã nhấn vào thông báo hoặc loại bỏ thông báo đó. Cảm ơn bạn đã giúp đỡ!
Không sao, tôi tìm thấy câu trả lời của tôi ở đây: http://stackoverflow.com/questions/8811876/notification-deleteintent-does-not-work. – NewGradDev