आम तौर पर, बुनियादी सूचना में एक शीर्षक, टेक्स्ट की एक लाइन, और कार्रवाइयां शामिल होती हैं. तो उपयोगकर्ता जवाब में काम कर सकता है. ज़्यादा जानकारी देने के लिए, आपके पास बड़ी इमेज बनाने, सूचनाओं के कई टेंप्लेट में से किसी एक को लागू करके, सूचनाओं को इस दस्तावेज़ में बताए गए हैं.
सबसे पहले, यहां बताए गए तरीके से बुनियादी कॉन्टेंट के साथ सूचना बनाएं
सूचना बनाएं. इसके बाद,
कॉल करें
setStyle()
और हर टेंप्लेट के हिसाब से जानकारी देता है, जैसे कि
नीचे दिए गए उदाहरणों में बताया गया है.
बड़ी इमेज जोड़ें
अपनी सूचना में इमेज जोड़ने के लिए,
NotificationCompat.BigPictureStyle
setStyle()
तक.
Kotlin
val notification = NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.new_post) .setContentTitle(imageTitle) .setContentText(imageDescription) .setStyle(NotificationCompat.BigPictureStyle() .bigPicture(myBitmap)) .build()
Java
Notification notification = new NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.new_post) .setContentTitle(imageTitle) .setContentText(imageDescription) .setStyle(new NotificationCompat.BigPictureStyle() .bigPicture(myBitmap)) .build();
सूचना मिलने के दौरान ही इमेज को थंबनेल के तौर पर दिखाने के लिए
छोटा किया गया, जैसा कि नीचे दिए गए डायग्राम में दिखाया गया है, कॉल
setLargeIcon()
और उसे इमेज पास करें. इसके बाद, कॉल करें
BigPictureStyle.bigLargeIcon()
और उसे null
पास कर दें, ताकि सूचना मिलने पर बड़ा आइकॉन हट जाए
बड़ा किया गया:
Kotlin
val notification = NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.new_post) .setContentTitle(imageTitle) .setContentText(imageDescription) .setLargeIcon(myBitmap) .setStyle(NotificationCompat.BigPictureStyle() .bigPicture(myBitmap) .bigLargeIcon(null)) .build()
Java
Notification notification = new NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.new_post) .setContentTitle(imageTitle) .setContentText(imageDescription) .setLargeIcon(myBitmap) .setStyle(new NotificationCompat.BigPictureStyle() .bigPicture(myBitmap) .bigLargeIcon(null)) .build();
टेक्स्ट का एक बड़ा ब्लॉक जोड़ें
लागू करें
NotificationCompat.BigTextStyle
सूचना के बड़े किए गए कॉन्टेंट एरिया में टेक्स्ट दिखाने के लिए:
Kotlin
val notification = NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.new_mail) .setContentTitle(emailObject.getSenderName()) .setContentText(emailObject.getSubject()) .setLargeIcon(emailObject.getSenderAvatar()) .setStyle(NotificationCompat.BigTextStyle() .bigText(emailObject.getSubjectAndSnippet())) .build()
Java
Notification notification = new NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.new_mail) .setContentTitle(emailObject.getSenderName()) .setContentText(emailObject.getSubject()) .setLargeIcon(emailObject.getSenderAvatar()) .setStyle(new NotificationCompat.BigTextStyle() .bigText(emailObject.getSubjectAndSnippet())) .build();
इनबॉक्स-स्टाइल की सूचना बनाएं
लागू करें
NotificationCompat.InboxStyle
की सूचना पाने के लिए,
स्निपेट. इसकी मदद से, कॉन्टेंट टेक्स्ट के कई हिस्से जोड़े जा सकते हैं
जिनमें से हर एक को टेक्स्ट की एक लगातार लाइन के बजाय, एक लाइन तक काटा जाता है
NotificationCompat.BigTextStyle
की ओर से दिया गया.
नई लाइन जोड़ने के लिए, कॉल करें
addLine()
छह बार तक कर सकते हैं, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है. अगर आप छह से ज़्यादा संपर्क जोड़ते हैं
पंक्तियां दिखती हैं, सिर्फ़ शुरुआती छह पंक्तियां दिखती हैं.
Kotlin
val notification = NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.baseline_email_24) .setContentTitle("5 New mails from Frank") .setContentText("Check them out") .setLargeIcon(BitmapFactory.decodeResource(resources, R.drawable.logo)) .setStyle( NotificationCompat.InboxStyle() .addLine("Re: Planning") .addLine("Delivery on its way") .addLine("Follow-up") ) .build()
Java
Notification notification = NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.baseline_email_24) .setContentTitle("5 New mails from Frank") .setContentText("Check them out") .setLargeIcon(BitmapFactory.decodeResource(resources, R.drawable.logo)) .setStyle( NotificationCompat.InboxStyle() .addLine("Re: Planning") .addLine("Delivery on its way") .addLine("Follow-up") ) .build();
नतीजा यहां दिया गया है:
सूचना में बातचीत दिखाना
लागू करें
NotificationCompat.MessagingStyle
का इस्तेमाल करें. यह इन लोगों के लिए सही है
ऐसा इसलिए, क्योंकि यह हर मैसेज के लिए एक जैसा लेआउट उपलब्ध कराता है.
भेजने वाले के नाम और मैसेज के टेक्स्ट को अलग-अलग हैंडल करता हो. साथ ही, हर मैसेज को
टेक्स्ट के तौर पर लिखें.
नया मैसेज जोड़ने के लिए, इस नंबर पर कॉल करें
addMessage()
मैसेज पास करना, मैसेज मिलने में लगने वाला समय, और भेजने वाले का नाम. आप यह भी कर सकते हैं
इस जानकारी को
NotificationCompat.MessagingStyle.Message
ऑब्जेक्ट, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:
Kotlin
val message1 = NotificationCompat.MessagingStyle.Message( messages[0].getText(), messages[0].getTime(), messages[0].getSender()) val message2 = NotificationCompat.MessagingStyle.Message( messages[1].getText(), messages[1].getTime(), messages[1].getSender()) val notification = NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.new_message) .setStyle( NotificationCompat.MessagingStyle(resources.getString(R.string.reply_name)) .addMessage(message1) .addMessage(message2)) .build()
Java
NotificationCompat.MessagingStyle.Message message1 = new NotificationCompat.MessagingStyle.Message(messages[0].getText(), messages[0].getTime(), messages[0].getSender()); NotificationCompat.MessagingStyle.Message message2 = new NotificationCompat.MessagingStyle.Message(messages[1].getText(), messages[1].getTime(), messages[1].getSender()); Notification notification = new NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.new_message) .setStyle(new NotificationCompat.MessagingStyle(resources.getString(R.string.reply_name)) .addMessage(message1) .addMessage(message2)) .build();
NotificationCompat.MessagingStyle
का इस्तेमाल करते समय, को दी गई कोई भी वैल्यू
setContentTitle()
और
setContentText()
नज़रअंदाज़ किए जाते हैं.
कॉल किया जा सकता है
setConversationTitle()
बातचीत के ऊपर दिखाई देने वाला शीर्षक जोड़ने के लिए. यह
समूह के उपयोगकर्ता द्वारा निर्मित नाम या, यदि इसका कोई विशिष्ट नाम नहीं है, तो सूची
बातचीत में हिस्सा ले रहे हैं. इसके लिए बातचीत का टाइटल सेट न करें
एक व्यक्ति के साथ चैट करना, क्योंकि सिस्टम इस फ़ील्ड की मौजूदगी का इस्तेमाल संकेत के तौर पर करता है
कि यह बातचीत एक ग्रुप है.
यह स्टाइल सिर्फ़ Android 7.0 (एपीआई लेवल 24) और उसके बाद के वर्शन पर काम करने वाले डिवाइसों पर लागू होती है.
साथ काम करने वाली लाइब्रेरी का इस्तेमाल करते समय
(NotificationCompat
),
जैसा कि पहले ही बताया गया है, MessagingStyle
के सदस्यों को मिलने वाली सूचनाएं वापस आ जाती हैं
सभी फ़ॉर्मैट को अपने-आप अपडेट करने की सुविधा मिलती है.
किसी चैट बातचीत के लिए इस तरह की सूचना बनाते समय, सीधे तौर पर जवाब देने से जुड़ी कार्रवाई.
मीडिया कंट्रोल की मदद से सूचना बनाना
लागू करें
MediaStyleNotificationHelper.MediaStyle
मीडिया प्लेबैक कंट्रोल दिखाने और जानकारी को ट्रैक करने के लिए.
अपने संबद्ध का उल्लेख करें
MediaSession
कंस्ट्रक्टर है. इससे Android को आपके बारे में सही जानकारी दिखाने में मदद मिलती है
मीडिया.
कॉल करें
addAction()
ज़्यादा से ज़्यादा पांच बार दिखाया जा सकता है. setLargeIcon()
को इस नंबर पर कॉल करें
एल्बम का आर्टवर्क सेट अप कर सकते हैं.
सूचना के अन्य स्टाइल के उलट, MediaStyle
आपको सूचना के सेक्शन में बदलाव करने की सुविधा भी देता है
कॉन्टेंट व्यू को छोटा करने के लिए, तीन ऐक्शन बटन तय करने की सुविधा मिलती है. ये बटन भी दिखते हैं
सेक्शन पर क्लिक करें. ऐसा करने के लिए, ऐक्शन बटन के इंडेक्स
setShowActionsInCompactView()
.
नीचे दिए गए उदाहरण में, मीडिया कंट्रोलर की मदद से सूचना बनाने का तरीका बताया गया है:
Kotlin
val notification = NotificationCompat.Builder(context, CHANNEL_ID) // Show controls on lock screen even when user hides sensitive content. .setVisibility(NotificationCompat.VISIBILITY_PUBLIC) .setSmallIcon(R.drawable.ic_stat_player) // Add media control buttons that invoke intents in your media service .addAction(R.drawable.ic_prev, "Previous", prevPendingIntent) // #0 .addAction(R.drawable.ic_pause, "Pause", pausePendingIntent) // #1 .addAction(R.drawable.ic_next, "Next", nextPendingIntent) // #2 // Apply the media style template. .setStyle(MediaStyleNotificationHelper.MediaStyle(mediaSession) .setShowActionsInCompactView(1 /* #1: pause button \*/)) .setContentTitle("Wonderful music") .setContentText("My Awesome Band") .setLargeIcon(albumArtBitmap) .build()
Java
Notification notification = new NotificationCompat.Builder(context, CHANNEL_ID) // Show controls on lock screen even when user hides sensitive content. .setVisibility(NotificationCompat.VISIBILITY_PUBLIC) .setSmallIcon(R.drawable.ic_stat_player) // Add media control buttons that invoke intents in your media service .addAction(R.drawable.ic_prev, "Previous", prevPendingIntent) // #0 .addAction(R.drawable.ic_pause, "Pause", pausePendingIntent) // #1 .addAction(R.drawable.ic_next, "Next", nextPendingIntent) // #2 // Apply the media style template. .setStyle(new MediaStyleNotificationHelper.MediaStyle(mediaSession) .setShowActionsInCompactView(1 /* #1: pause button */)) .setContentTitle("Wonderful music") .setContentText("My Awesome Band") .setLargeIcon(albumArtBitmap) .build();
अन्य संसाधन
MediaStyle
और इसके बारे में ज़्यादा जानकारी के लिए, नीचे दिए गए रेफ़रंस देखें
सूचनाओं को बड़ा करके देखा जा सकता है.