मीडिया ऐप्लिकेशन में सूचनाएं जोड़ने का तरीका

ऑडियो या वीडियो को प्रोसेस करने वाला मीडिया ऐप्लिकेशन बनाते समय, आपको सही नोटिफ़िकेशन और नोटिफ़िकेशन चैनल चुनें. यह पक्का करती है कि सूचनाओं में ये अहम सुविधाएं हों:

  • सूचना को प्राथमिकता दें
  • उन्हें खारिज नहीं किया जा सकता
  • रिंगटोन के लिए ऑडियो एट्रिब्यूट का इस्तेमाल करें

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 का इस्तेमाल किया जाता है नोटिफ़िकेशन.