确定用户已删除或解除通知的最佳方法是什么?

时间:2015-08-28 07:35:30

标签: java android xamarin

为了连续播放30秒的闹钟声,我必须发出30次通知。但是,如果用户从通知池中删除通知,则进程需要退出循环?做这个的最好方式是什么?

for(int i ; i < 30; i++) {
    notificationManager.notify(tag, NOTIFICATION_ID, notification);
    Thread.sleep(1000);
}

1 个答案:

答案 0 :(得分:0)

这回答了我的问题。 FLAG_INSISTENT重复播放声音,直到用户打开通知池。不需要'for'循环。

// turn on the alarm
notification.sound = soundUri;
notification.flags |= Notification.FLAG_INSISTENT;
// after 30 seconds turn off the alarm
new Handler().postDelayed(
    new Runnable() {
            @Override
            public void run() {
                notification.flags ^= Notification.FLAG_INSISTENT;
                notificationManager.notify(tag, NOTIFICATION_ID,   
                    notification);
            }
    }, 30000);