सूचना वाले बैज में बदलाव करना

Android 8.0 (एपीआई लेवल 26) और इसके बाद के वर्शन में सूचना वाले बैज. इन्हें इस नाम से भी जाना जाता है सूचनाएं बताने वाले डॉट—लॉन्चर आइकॉन पर तब दिखते हैं, जब संबंधित ऐप्लिकेशन में चालू सूचना. उपयोगकर्ता यह कर सकते हैं टच & सूचनाएं देखने के लिए, ऐप्लिकेशन के आइकॉन को दबाकर रखें. इसके अलावा, ऐप्लिकेशन शॉर्टकट, जैसा कि पहली इमेज.

ये डॉट, डिफ़ॉल्ट रूप से उन लॉन्चर ऐप्लिकेशन में दिखते हैं जो इन ऐप्लिकेशन पर काम करते हैं. साथ ही, आपके ऐप्लिकेशन को कुछ भी करने की ज़रूरत नहीं है. हालांकि, कुछ ऐसे भी मामले हो सकते हैं जिनमें आपको सूचना देने वाले डॉट को दिखाना नहीं चाहता या पूरी तरह से कंट्रोल करना है कौनसी सूचनाएं वहां दिखती हैं.

पहला डायग्राम. सूचना बैज और होल्ड मेन्यू.

बैज दिखाने की सुविधा बंद करें

कई मामलों में आपकी सूचनाओं के लिए बैज का कोई मतलब नहीं होता. इसलिए, आपको इन्हें कॉल करके हर चैनल के हिसाब से बंद किया जा सकता है setShowBadge(false) आपके NotificationChannel पर ऑब्जेक्ट है.

उदाहरण के लिए, हो सकता है कि आप निम्न में सूचना बैज अक्षम करना चाहें स्थितियां:

  • लगातार मिलने वाली सूचनाएं: ज़्यादातर मिल रही सूचनाएं, जैसे कि इमेज प्रोसेसिंग, मीडिया प्लेबैक कंट्रोल या नेविगेशन के मौजूदा निर्देशों का कोई मतलब नहीं निकलता को बैज के रूप में रखा जा सकता है.
  • कैलेंडर रिमाइंडर: मौजूदा समय में होने वाले बैज इवेंट से बचें.
  • घड़ी या अलार्म इवेंट: मौजूदा अलार्म से जुड़ी सूचनाओं पर बैज दिखने से बचें.

नीचे दिया गया सैंपल कोड बताता है कि सूचना का चैनल:

Kotlin

val id = "my_channel_01"
val name = getString(R.string.channel_name)
val descriptionText = getString(R.string.channel_description)
val importance = NotificationManager.IMPORTANCE_LOW
val mChannel = NotificationChannel(id, name, importance).apply {
    description = descriptionText
    setShowBadge(false)
}
val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
notificationManager.createNotificationChannel(mChannel)

Java

String id = "my_channel_01";
CharSequence name = getString(R.string.channel_name);
String description = getString(R.string.channel_description);
int importance = NotificationManager.IMPORTANCE_LOW;
NotificationChannel mChannel = new NotificationChannel(id, name, importance);
mChannel.setDescription(description);
mChannel.setShowBadge(false);

NotificationManager notificationManager =
        (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.createNotificationChannel(mChannel);

पसंद के मुताबिक सूचनाओं की संख्या सेट करें

डिफ़ॉल्ट रूप से, प्रत्येक सूचना टच & होल्ड करें जैसा कि पहली इमेज में दिखाया गया है, लेकिन अपने ऐप्लिकेशन के लिए इस संख्या को बदला जा सकता है. उदाहरण के लिए, यह तब उपयोगी हो सकता है, जब आप इसके लिए केवल एक सूचना का उपयोग कर रहे हों कई नए मैसेज को दिखाता है, लेकिन आपको मैसेज की संख्या कुल नए मैसेज की संख्या.

कस्टम नंबर सेट करने के लिए, इस नंबर पर कॉल करें setNumber() जैसा कि यहां दिखाया गया है:

Kotlin

var notification = NotificationCompat.Builder(this@MainActivity, CHANNEL_ID)
        .setContentTitle("New Messages")
        .setContentText("You've received 3 new messages.")
        .setSmallIcon(R.drawable.ic_notify_status)
        .setNumber(messageCount)
        .build()

Java

Notification notification = new NotificationCompat.Builder(MainActivity.this, CHANNEL_ID)
        .setContentTitle("New Messages")
        .setContentText("You've received 3 new messages.")
        .setSmallIcon(R.drawable.ic_notify_status)
        .setNumber(messageCount)
        .build();

किसी सूचना के टच और सेटिंग में बदलाव करना मेन्यू आइकॉन को दबाकर रखें

टच ऐंड होल्ड मेन्यू, सूचना दिखाई जा सकती है. डिफ़ॉल्ट रूप से, सिस्टम बड़ा आइकॉन दिखाता है, लेकिन तुम कॉल कर सकती हो Notification.Builder.setBadgeIconType() और BADGE_ICON_SMALL में पास करें छोटा आइकॉन दिखाने के लिए स्थिर है.

Kotlin

var notification = NotificationCompat.Builder(this@MainActivity, CHANNEL_ID)
        .setContentTitle("New Messages")
        .setContentText("You've received 3 new messages.")
        .setSmallIcon(R.drawable.ic_notify_status)
        .setBadgeIconType(NotificationCompat.BADGE_ICON_SMALL)
        .build()

Java

Notification notification = new NotificationCompat.Builder(MainActivity.this, CHANNEL_ID)
        .setContentTitle("New Messages")
        .setContentText("You've received 3 new messages.")
        .setSmallIcon(R.drawable.ic_notify_status)
        .setBadgeIconType(NotificationCompat.BADGE_ICON_SMALL)
        .build();

कोई डुप्लीकेट शॉर्टकट छिपाएं

अगर आपका ऐप्लिकेशन, ऐप्लिकेशन शॉर्टकट का डुप्लीकेट बनाने वाली सूचना बनाता है, तो कॉल करके सूचना पाने की सुविधा चालू रहने के दौरान, शॉर्टकट को कुछ समय के लिए छिपाएं setShortcutId().

सूचनाओं का इस्तेमाल करने वाले सैंपल कोड के अन्य सैंपल के लिए, लोगों का सैंपल देखें.