簡體   English   中英

收到推送通知時清除徽章

[英]Clearing the badge when received Push Notification

收到推送通知時,如何清除應用程序圖標上顯示的徽章? 一旦用戶點擊了推送通知警報的“查看”或點擊了應用程序圖標,我想清除它。

我懷疑您在談論 SpringBoard 的徽章:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]

徽章計數設置為零

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]

使用此代碼取消所有本地通知:

[[UIApplication sharedApplication] cancelAllLocalNotifications];

使用這行代碼取消一個本地通知:

[[UIApplication sharedApplication] cancelLocalNotification:theNotification];

這里的Notification是一個UILocalNotification object,所以為了取消一個特定的通知,你需要抓住它的UILocalNotification。

檢查這個

對於 Mac OS X Lion,它是:

    [NSApp dockTile].badgeLabel = @"";

(Lion 支持徽章類型的推送通知。)

從 Apple 的文檔中,將application.applicationIconBadgeNumber設置為您希望在徽章上顯示的數字。 如果將其設置為 0,它將被清除。

- (BOOL)application:(UIApplication *)app didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];

    if (localNotif) {
        NSString *itemName = [localNotif.userInfo objectForKey:ToDoItemKey];
        [viewController displayItem:itemName];  // custom method
        application.applicationIconBadgeNumber = localNotif.applicationIconBadgeNumber-1;
    }

    [window addSubview:viewController.view];
    [window makeKeyAndVisible];
    return YES;
}

參考 - 向下滾動到清單 2.4 上方的處理本地和遠程通知部分

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM