कुछ मामलों में, आपके ऐप्लिकेशन को लोगों का तुरंत ध्यान खींचने की ज़रूरत पड़ सकती है, जैसे, कोई अलार्म या इनकमिंग कॉल. चलने वाले डिवाइस को लक्षित करने वाले ऐप्लिकेशन में 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
तरीका:
Kotlin
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 और इसके बाद के वर्शन में, इस तारीख से पहले सूचना की अनुमतियों के लिए अनुरोध करें उपयोगकर्ताओं को सूचनाएं दिखाने के लिए.
लागू होने वाला कम से कम तरीका:
Kotlin
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 की तरह:
ज़्यादा प्राथमिकता वाली सूचना बनाएं
सूचना बनाते समय, जानकारी देने वाला शीर्षक और मैसेज शामिल करें.
इस उदाहरण में एक सूचना शामिल है:
Kotlin
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()
फ़ंक्शन को कॉल करने पर, सूचना इस तरह से ट्रिगर होती है:
Kotlin
Button(onClick = { showNotification() }) { Text(text = "Show notification") }
इस उदाहरण में दी गई सूचना, चौथी इमेज के तौर पर दिखती है:
पहले से चल रही सूचना
उपयोगकर्ता को सूचना दिखाने के दौरान, वह उपयोगकर्ता को मैसेज स्वीकार कर सकता है या उसे खारिज कर सकता है आपके ऐप्लिकेशन की सूचना या रिमाइंडर. उदाहरण के लिए, उपयोगकर्ता किसी अनुरोध को स्वीकार या अस्वीकार कर सकता है इनकमिंग फ़ोन कॉल.
अगर आपकी सूचना जारी है, जैसे कि कोई इनकमिंग फ़ोन कॉल, सूचना को फ़ोरग्राउंड से जोड़ें सेवा. यह कोड स्निपेट फ़ोरग्राउंड सेवा से जुड़ी सूचना दिखाने का तरीका बताया गया है:
Kotlin
// Provide a unique integer for the "notificationId" of each notification. startForeground(notificationId, notification)
Java
// Provide a unique integer for the "notificationId" of each notification. startForeground(notificationId, notification);