एक

2013-08-05 9 views
11

चुनने के बाद अधिसूचना केंद्र से साफ़ पुश अधिसूचनाएं साफ़ करें जब मैं पुश अधिसूचना में से एक चुनता हूं, तो मैं अपने आवेदन की सभी पुश नोटिफिकेशन साफ़ करना चाहता हूं।एक

मैंने यहां अन्य धागे देखे हैं जो कहते हैं कि आईओएस में यह संभव नहीं है। लेकिन मेरे पास ऐप स्टोर से डाउनलोड एक एप्लिकेशन है, जो वही काम करता है।

+1

आप इस सुविधा वाले ऐप के बारे में कुछ और जानकारी पोस्ट करने पर विचार कर सकते हैं। – rjstelling

+0

और यह भी लिंक जहां असंभव कहा जाता है। इस तरह आपका प्रश्न अधिक जानकारीपूर्ण होगा – Tala

+2

बस अपने ऐप की बैज गिनती को 0 के रूप में सेट करें। यह आपके अधिसूचना केंद्र से सभी अधिसूचनाओं को साफ़ करेगा –

उत्तर

28

यदि यह बैज आइकन को दूर करने के तो एक स्थानीय अधिसूचना है तो आप इस

UILocalNotification *localNotification = [[UILocalNotification alloc] init]; 
localNotification.applicationIconBadgeNumber = 1; 

तरह यह करने के लिए यदि यह पुश अधिसूचना है आप

[UIApplication sharedApplication].applicationIconBadgeNumber=0; 
नीचे लिखे कोड से यह कर सकते हैं

आप कहीं भी इन विधियों को कॉल कर सकते हैं। उदाहरण के लिए यदि आप इस समय अधिसूचना साफ़ करना चाहते हैं जब एप्लिकेशन तो शुरू की है

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

में लिखने कि आपके ऐप में आप पहले सेट करने के लिए है बिल्ला नंबर का उपयोग नहीं करता है, तो यह से निकालने के लिए रीसेट अधिसूचना केंद्र

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1]; 
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 
+1

धन्यवाद, लेकिन मैंने इसे पहले से ही पुश अधिसूचना –

+0

के रूप में वर्णित किया है मैंने दोनों परिदृश्यों के लिए कोड जोड़ा है। पुश अधिसूचना –

+0

के लिए दूसरे कोड का उपयोग करें मैंने कोशिश की है [यूआईएपीप्लिकेशन साझा अनुप्रयोग]। एप्लिकेशन IconBadgeNumber = 0; .... मेरे लिए काम नहीं किया –

2

तुम सब करने की ज़रूरत है

application.applicationIconBadgeNumber = 0;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions में

है।

संपादित

आप अपने अनुप्रयोग को बंद करने नहीं कर रहे हैं लेकिन सिर्फ पृष्ठभूमि करने के लिए इसे भेजने के। फिर इसे अपने नीचे के फ़ंक्शन में भी जोड़ें।

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
{ 
    if (application.applicationState == UIApplicationStateInactive || application.applicationState == UIApplicationStateBackground ) 
    { 
     //opened from a push notification when the app was on background 
     application.applicationIconBadgeNumber = 0; 
    } 
} 
+1

हाँ मैंने जो कहा है .. और यदि आपका एप्लिकेशन पृष्ठभूमि मोड में है तो इस प्रतिनिधि विधि - (शून्य) आवेदन: (यूआईएप्लिकेशंस *) एप्लिकेशन किया गया है रिसेव रिमोट नोटिफिकेशन: (NSDictionary *) userInfo { } –

+0

मेरी समझ के अनुसार, application.applicationIconBadgeNumber = 0; बैज आइकन रीसेट करेगा, सूचना केंद्र में अधिसूचना नहीं। मैंने इसे आज़माया, लेकिन –

+0

काम नहीं किया। जब भी मैं अधिसूचना के साथ विशेष ऐप खोल रहा हूं अधिसूचना केंद्र से अधिसूचना हटा दी गई है। –