मीडिया ऐप्लिकेशन में सूचनाएं जोड़ने का तरीका
संग्रह की मदद से व्यवस्थित रहें
अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
ऑडियो या वीडियो को प्रोसेस करने वाला मीडिया ऐप्लिकेशन बनाते समय, आपको
सही नोटिफ़िकेशन और नोटिफ़िकेशन चैनल चुनें. यह
पक्का करती है कि सूचनाओं में ये अहम सुविधाएं हों:
- सूचना को प्राथमिकता दें
- उन्हें खारिज नहीं किया जा सकता
- रिंगटोन के लिए ऑडियो एट्रिब्यूट का इस्तेमाल करें
NotificationChannel.Builder
का इस्तेमाल करके दो सूचना चैनल सेट अप करें: एक इसके लिए
इनकमिंग कॉल और दूसरा ऐक्टिव कॉल के लिए.
internal companion object {
const val TELECOM_NOTIFICATION_ID = 200
const val TELECOM_NOTIFICATION_ACTION = "telecom_action"
const val TELECOM_NOTIFICATION_INCOMING_CHANNEL_ID = "telecom_incoming_channel"
const val TELECOM_NOTIFICATION_ONGOING_CHANNEL_ID = "telecom_ongoing_channel"
private val ringToneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE)
}
सूचना को हर जगह दिखाने और उसे
रिंगटोन के रूप में, इनकमिंग नोटिफ़िकेशन चैनल के महत्व को उच्च पर सेट करें.
val incomingChannel = NotificationChannelCompat.Builder(
TELECOM_NOTIFICATION_INCOMING_CHANNEL_ID,
NotificationManagerCompat.IMPORTANCE_HIGH,
).setName("Incoming calls")
.setDescription("Handles the notifications when receiving a call")
.setVibrationEnabled(true).setSound(
ringToneUri,
AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setLegacyStreamType(AudioManager.STREAM_RING)
.setUsage(AudioAttributes.USAGE_NOTIFICATION_RINGTONE).build(),
).build()
सिर्फ़ ऐक्टिव कॉल के लिए, इवेंट को डिफ़ॉल्ट के तौर पर सेट करना ज़रूरी है. इसका इस्तेमाल करें
इनकमिंग कॉल की सूचना पाने की अनुमति देने के लिए, इनकमिंग कॉल की स्टाइल फ़ॉलो कर रहे हैं
खारिज नहीं किया जा सकता.
val ongoingChannel = NotificationChannelCompat.Builder(
TELECOM_NOTIFICATION_ONGOING_CHANNEL_ID,
NotificationManagerCompat.IMPORTANCE_DEFAULT,
)
.setName("Ongoing calls")
.setDescription("Displays the ongoing call notifications")
.build()
जिन मामलों में इनकमिंग कॉल के दौरान उपयोगकर्ता का डिवाइस लॉक हो जाता है उनके इस्तेमाल के मामलों में,
किसी गतिविधि को दिखाने के लिए, फ़ुल-स्क्रीन सूचना का इस्तेमाल किया जा सकता है.
कॉल का जवाब दो.
// on the notification
val contentIntent = PendingIntent.getActivity(
/* context = */ context,
/* requestCode = */ 0,
/* intent = */ Intent(context, TelecomCallActivity::class.java),
/* flags = */ PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE,
)
निर्देशों के लिए, कॉल वाले ऐप्लिकेशन के लिए कॉल की स्टाइल की सूचना बनाएं लेख पढ़ें
कॉल की सूचनाओं को अन्य तरह की सूचनाओं से अलग करने के लिए, CallStyle
का इस्तेमाल किया जाता है
नोटिफ़िकेशन.
इस पेज पर मौजूद कॉन्टेंट और कोड सैंपल कॉन्टेंट के लाइसेंस में बताए गए लाइसेंस के हिसाब से हैं. Java और OpenJDK, Oracle और/या इससे जुड़ी हुई कंपनियों के ट्रेडमार्क या रजिस्टर किए हुए ट्रेडमार्क हैं.
आखिरी बार 2025-07-27 (UTC) को अपडेट किया गया.
[[["समझने में आसान है","easyToUnderstand","thumb-up"],["मेरी समस्या हल हो गई","solvedMyProblem","thumb-up"],["अन्य","otherUp","thumb-up"]],[["वह जानकारी मौजूद नहीं है जो मुझे चाहिए","missingTheInformationINeed","thumb-down"],["बहुत मुश्किल है / बहुत सारे चरण हैं","tooComplicatedTooManySteps","thumb-down"],["पुराना","outOfDate","thumb-down"],["अनुवाद से जुड़ी समस्या","translationIssue","thumb-down"],["सैंपल / कोड से जुड़ी समस्या","samplesCodeIssue","thumb-down"],["अन्य","otherDown","thumb-down"]],["आखिरी बार 2025-07-27 (UTC) को अपडेट किया गया."],[],[],null,["# Add notifications to a media app\n\nWhen building a media app that processes audio or video, it's important to use\nthe correct notifications and notification channels. This\nensures that notifications have the following valuable features:\n\n- Have notification priority\n- Are non-dismissable\n- Use audio attributes for ringtones\n\nUse `NotificationChannel.Builder` to set up two notification channels: one for\nincoming calls and the other for active calls. \n\n internal companion object {\n const val TELECOM_NOTIFICATION_ID = 200\n const val TELECOM_NOTIFICATION_ACTION = \"telecom_action\"\n const val TELECOM_NOTIFICATION_INCOMING_CHANNEL_ID = \"telecom_incoming_channel\"\n const val TELECOM_NOTIFICATION_ONGOING_CHANNEL_ID = \"telecom_ongoing_channel\"\n\n private val ringToneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE)\n }\n\nTo display the notification everywhere and allow it to play audio for the\nringtone, set the importance of the incoming notification channel to high. \n\n val incomingChannel = NotificationChannelCompat.Builder(\n TELECOM_NOTIFICATION_INCOMING_CHANNEL_ID,\n NotificationManagerCompat.IMPORTANCE_HIGH,\n ).setName(\"Incoming calls\")\n .setDescription(\"Handles the notifications when receiving a call\")\n .setVibrationEnabled(true).setSound(\n ringToneUri,\n AudioAttributes.Builder()\n .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)\n .setLegacyStreamType(AudioManager.STREAM_RING)\n .setUsage(AudioAttributes.USAGE_NOTIFICATION_RINGTONE).build(),\n ).build()\n\nOnly active calls requires the importance to be set to default. Use the\nfollowing incoming call style to allow notifications for incoming calls to be\nnon-dismissable. \n\n val ongoingChannel = NotificationChannelCompat.Builder(\n TELECOM_NOTIFICATION_ONGOING_CHANNEL_ID,\n NotificationManagerCompat.IMPORTANCE_DEFAULT,\n )\n .setName(\"Ongoing calls\")\n .setDescription(\"Displays the ongoing call notifications\")\n .build()\n\nTo address use cases where the user's device is locked during an incoming call,\nuse a full-screen notification to display an activity to allow the user to\nanswer the call. \n\n // on the notification\n val contentIntent = PendingIntent.getActivity(\n /* context = */ context,\n /* requestCode = */ 0,\n /* intent = */ Intent(context, TelecomCallActivity::class.java),\n /* flags = */ PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE,\n )\n\nRead [Create a call style notification for call apps](/develop/ui/views/notifications/call-style) for instructions on\nusing [`CallStyle`](/reference/android/app/Notification.CallStyle) to distinguishing call notifications from other types of\nnotifications."]]