Distriqt AIR本地通知Ane - 删除旧通知
我们尝试实施本地通知扩展distriqt。Distriqt AIR本地通知Ane - 删除旧通知
随着停用事件新的通知设定:
notification.id = int(Math.random()*100);
notification.tickerText = _asde + " asdasd!";
notification.title = _asde + " asd!";
notification.body = "asd!";
notification.iconType = NotificationIconType.APPLICATION;
notification.count = 0;
notification.repeatInterval = 0;
notification.vibrate = false;
notification.playSound = true;
notification.soundName = "assets/sounds/notification.mp3";
notification.delay = secondsToDeath;
notification.data = "Some notification data to attach "+notification.id;
try
{
Notifications.service.notify(notification.id, notification);
_count ++;
Notifications.service.setBadgeNumber(_count);
}
catch (e:Error)
{
}
如果用户点击应用程序,并再次停用它,新的通知设定。
旧的通知仍然可用并显示,但我们希望删除旧的通知。 我们还没有找到注销旧通知的方法。
任何想法?
private static const DEACTIVATE_NOTIFICATION_ID_4 : int = 4;
已声明。
if(_GoodA == true){
setSpielenFertigDate.time = 2400000*(1-_aktuellerFreudeWert/_maximalerFreudeWert);
var secondsToSpielenFertig:int = int((setSpielenFertigDate.time)/ 1000);
trace("halloe" + _fernseherAn.toString());
notification4.id = DEACTIVATE_NOTIFICATION_ID_4;
notification4.tickerText = "He test it!";
notification4.title = "sdf is happy!";
notification4.body = "sdf test is on!";
notification4.iconType = NotificationIconType.APPLICATION;
notification4.count = 0;
notification4.repeatInterval = 0;
notification4.vibrate = false;
notification4.playSound = true;
notification4.soundName = "assets/sounds/notification.mp3";
notification4.delay = secondsToSpielenFertig;
notification4.data = "Some notification data to attach "+ notification4.id;
try
{
Notifications.service.notify(notification4.id, notification4);
_count ++;
Notifications.service.setBadgeNumber(_count);
}
catch (e:Error)
{
}
}
else{
trace("halloe2" + _fernseherAn.toString());
setSpielenDate.time = 5100000*(_aktuellerFreudeWert/_maximalerFreudeWert);
var secondsToSpielen:int = int((setSpielenDate.time)/ 1000);
notification4.id = DEACTIVATE_NOTIFICATION_ID_4;
notification4.tickerText = "He tested it!";
notification4.title = "sdf is unhappy!";
notification4.body = "sdf test is off!";
notification4.iconType = NotificationIconType.APPLICATION;
notification4.count = 0;
notification4.repeatInterval = 0;
notification4.vibrate = false;
notification4.playSound = true;
notification4.soundName = "assets/sounds/notification.mp3";
//Sekunden bis Nachricht geschickt wird
notification4.delay = secondsToSpielen;
notification4.data = "Some notification data to attach "+notification4.id;
try
{
Notifications.service.notify(notification4.id, notification4);
_count ++;
Notifications.service.setBadgeNumber(_count);
}
catch (e:Error)
{
}
}
如果应用程序的停用事件被触发,它会跟踪if和else子句的正确部分。但它不会更新正文和标题...
有两种方法可以用我们的扩展程序来做到这一点。两者都涉及跟踪通知的ID。
首先是跟踪您的上次通知并从通知区域“取消”它。为此,您需要至少存储上次创建的通知的ID。您可能感兴趣的部分代码是取消函数,它通过指定要删除的通知的ID来从通知面板中删除通知。
某处在您的类中声明的最后通知的参考:
private var _lastNotification : Notification;
然后在您的停用处理程序:
var notification:Notification = new Notification();
notification.id = int(Math.random()*100);
notification.tickerText = "Deactivated";
notification.title = "TEST";
notification.body = "Application Deactivated";
if (_lastNotification != null)
Notifications.service.cancel(_lastNotification.id);
Notifications.service.notify(notification.id, notification);
// Set this to be the recent notification displayed
_lastNotification = notification;
第二个选择是使用单一的通知ID为您的所有停用通知。在这种情况下,您可以选择一个常量ID用于通知,并根据需要更新通知。通知管理器不会显示附加通知,只需更新具有指定标识的通知(或者如果已被用户关闭,则显示该通知)。
private static const DEACTIVATE_NOTIFICATION_ID : int = 10;
var notification:Notification = new Notification();
notification.id = DEACTIVATE_NOTIFICATION_ID;
notification.tickerText = "Deactivated";
notification.title = "TEST";
notification.body = "Application Deactivated";
Notifications.service.notify(notification.id, notification);
希望这会有所帮助!
谢谢!这是我寻找的第二部分。我知道取消功能,但不能用此删除活动的通知。所以我不得不重写这些值。它现在更新Notification.delay。但它不会更新Notification.body? – 2013-02-25 11:15:47
如何更新Notification.body和Notification.title? – 2013-02-26 15:22:28
如果您使用的是常量ID方法,那么只需在新通知中指定一个新正文和标题,即可更新现有相同ID的通知。 – Michael 2013-02-27 01:16:53
你是在iOS还是Android? – Michael 2013-02-24 00:58:36