बस सब एक साथ रखा है। यह है कि यह कैसे काम करता है
एक अधिसूचना निर्माण करने के लिए है,
Notification n = new Notification.Builder(MyService.this)
.setContentTitle("Notification Title")
.setContentText("Notification Message")
.setSmallIcon(R.drawable.myicon).build();
कोई नोटिफिकेशन ध्वनि कॉल अधिसूचना के setSound()
,
Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Notification n = new Notification.Builder(MyService.this)
.setContentTitle("Notification Title")
.setContentText("Notification Message")
.setSound(alarmSound)
.setSmallIcon(R.drawable.myicon).build();
बनाने के अधिसूचना रद्द करने के लिए उपयोगकर्ता का चयन किया और रिसीवर आशय का शुभारंभ करने के बाद , setAutoCancel()
फोन,
Notification n = new Notification.Builder(MyService.this)
.setContentTitle("Notification Title")
.setContentText("Notification Message")
.setSound(alarmSound)
.setAutoCancel(true)
.setSmallIcon(R.drawable.myicon).build();
किसी विशेष अधिसूचना के लिए केवल एक बार ध्वनि/कंपन बनाने के लिए Notification.FLAG_ONLY_ALERT_ONCE
का उपयोग करें। इस ध्वज के साथ, आपकी अधिसूचना केवल एक बार जब तक रद्द हो जाती है तब तक ध्वनि उत्पन्न हो जाएगी और आप अधिसूचना आईडी के साथ जितनी बार चाहें अधिसूचित() को कॉल कर सकते हैं। ध्यान दें कि यदि आप रद्द() को कॉल करते हैं या यदि उपयोगकर्ता ने अधिसूचना रद्द कर दी है या ऑटो रद्द कर दिया है, तो सूचित करें() कॉल अधिसूचना ध्वनि फिर से कर देगा।
n.flags |= Notification.FLAG_ONLY_ALERT_ONCE; // Dont vibrate or make notification sound
अंत में अधिसूचना पैनल पर अधिसूचना डाल करने के लिए,
NotificationManager notificationManager =
(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notificationManager.notify(notification_id, n);
ध्यान दें कि यहां notification_id
महत्वपूर्ण है कि आप प्रभावी रूप से अधिसूचना उपयोग करना चाहते हैं। (एक अधिसूचना के लिए या करने के लिए एक ध्वनि/कंपन रखने के लिए एक विशिष्ट अधिसूचना रद्द करें)।
एक विशेष अधिसूचना को रद्द करने के
NotificationManager notificationManager =
(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notificationManager.cancel(notification_id);
आप cancel()
कर सकते हैं एक अधिसूचना भले ही वह मौजूद नहीं है या के रूप में आप एक ही आईडी वाले चाहते हैं आप notify()
रूप में कई बार फोन कर सकते हैं। ध्यान दें कि विभिन्न आईडी के साथ अधिसूचना कॉल करने से नई अधिसूचनाएं बन जाएंगी।
तो, की अधिसूचना मौजूद है कि क्या हो या नहीं, अगर आप सही notification_id
Notification.FLAG_ONLY_ALERT_ONCE
ध्वज सेट के साथ के साथ फिर से notify()
कहते हैं, तो आपको अपनी सूचना जिंदा दोहराया ध्वनियों के साथ उपयोगकर्ता परेशान किए बिना रख सकते हैं।
यदि आप फिर से सूचित करते हैं तो – weakwire
@weakwire को अधिसूचित करते हैं, तो अधिसूचना के लिए यह फिर से लिखना होगा: केवल अगर अधिसूचना पहले से स्क्रीन पर नहीं थी। – CommonsWare
उसे नहीं पता था। सवाल का जवाब नहीं दिया है लेकिन कोड की 2 लाइनों के साथ उद्देश्य प्रदान करता है। +1 – weakwire