कुछ मामलों में, आपके ऐप्लिकेशन को उपयोगकर्ता का ध्यान तुरंत खींचने की ज़रूरत पड़ सकती है. जैसे, अलार्म बजने या इनकमिंग कॉल आने पर. Android 9 (एपीआई लेवल 28) या उससे पहले के वर्शन पर चलने वाले डिवाइसों को टारगेट करने वाले ऐप्लिकेशन में, ऐप्लिकेशन के बैकग्राउंड में होने पर कोई गतिविधि शुरू करके, इस समस्या को हल किया जा सकता है. इस दस्तावेज़ में, Android 10 (एपीआई लेवल 29) से लेकर Android 13 (एपीआई लेवल 33) तक के वर्शन वाले डिवाइसों पर, इस सुविधा को चालू करने का तरीका बताया गया है.
POST_NOTIFICATIONS अनुमति जोड़ना
Android 13 से, अपने फ़ोन में नीचे दी गई लाइन जोड़ें
AndroidManifest.xml
फ़ाइल:
<manifest ...> <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> <application ...> ... </application> </manifest>
इसके बाद, सूचना वाला चैनल बनाया जा सकता है.
सूचना चैनल बनाना
अपनी सूचनाओं को ठीक से दिखाने के लिए सूचना चैनल बनाएं और ऐप्लिकेशन की सेटिंग में जाकर, उपयोगकर्ता सूचनाओं को मैनेज करता है. इसके बारे में ज़्यादा जानकारी पाने के लिए, सूचना के चैनल, सूचना बनाएं और मैनेज करें देखें चैनल.
Application
क्लास के onCreate
तरीके से, सूचना चैनल बनाएं:
class DACapp : Application() { override fun onCreate() { super.onCreate() val channel = NotificationChannel( CHANNEL_ID, "High priority notifications", NotificationManager.IMPORTANCE_HIGH ) val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager notificationManager.createNotificationChannel(channel) } }
जब कोई उपयोगकर्ता आपके ऐप्लिकेशन को पहली बार चलाता है, तो उसे आपके ऐप्लिकेशन की ऐप्लिकेशन की जानकारी सिस्टम स्क्रीन पर, पहली इमेज जैसी जानकारी दिखती है:

सूचनाओं की अनुमतियां मैनेज करना
Android 13 और इसके बाद के वर्शन में, इस तारीख से पहले सूचना की अनुमतियों के लिए अनुरोध करें उपयोगकर्ताओं को सूचनाएं दिखाने के लिए.
लागू होने वाला कम से कम तरीका:
val permissionLauncher = rememberLauncherForActivityResult( contract = ActivityResultContracts.RequestPermission(), onResult = { hasNotificationPermission = it } ) ... Button( onClick = { if (!hasNotificationPermission) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { permissionLauncher.launch(Manifest.permission.POST_NOTIFICATIONS) } } }, ) { Text(text = "Request permission") }
अगर आपके डिवाइस में Android 13 वर्शन चल रहा है, तो Request
permission
बटन पर टैप करने से दूसरी इमेज में दिखाया गया डायलॉग ट्रिगर हो जाता है:

अगर उपयोगकर्ता अनुमति का अनुरोध स्वीकार कर लेता है, तो ऐप्लिकेशन के ऐप्लिकेशन की जानकारी सेक्शन दिखता है इमेज 3 की तरह:

ज़्यादा प्राथमिकता वाली सूचना बनाएं
सूचना बनाते समय, जानकारी देने वाला शीर्षक और मैसेज शामिल करें.
इस उदाहरण में एक सूचना शामिल है:
private fun showNotification() { val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager val notificationBuilder = NotificationCompat.Builder(this, CHANNEL_ID) .setSmallIcon(R.drawable.baseline_auto_awesome_24) .setContentTitle("HIGH PRIORITY") .setContentText("Check this dog puppy video NOW!") .setPriority(NotificationCompat.PRIORITY_HIGH) .setCategory(NotificationCompat.CATEGORY_RECOMMENDATION) notificationManager.notify(666, notificationBuilder.build()) }
उपयोगकर्ता को सूचना दिखाना
showNotification()
फ़ंक्शन को कॉल करने पर, सूचना इस तरह से ट्रिगर होती है:
Button(onClick = { showNotification() }) { Text(text = "Show notification") }
इस उदाहरण में सूचना, चौथी इमेज की तरह दिखती है:

पहले से चल रही सूचना
उपयोगकर्ता को सूचना दिखाने के दौरान, वह उपयोगकर्ता को मैसेज स्वीकार कर सकता है या उसे खारिज कर सकता है आपके ऐप्लिकेशन की सूचना या रिमाइंडर. उदाहरण के लिए, उपयोगकर्ता किसी अनुरोध को स्वीकार या अस्वीकार कर सकता है इनकमिंग फ़ोन कॉल.
अगर आपकी सूचना किसी ऐसी गतिविधि से जुड़ी है जो जारी है, जैसे कि कोई आने वाला फ़ोन कॉल, तो सूचना को फ़ोरग्राउंड सेवा से जोड़ें. यह कोड स्निपेट फ़ोरग्राउंड सेवा से जुड़ी सूचना दिखाने का तरीका बताया गया है:
// Provide a unique integer for the "notificationId" of each notification. startForeground(notificationId, notification)
// Provide a unique integer for the "notificationId" of each notification. startForeground(notificationId, notification);