डिफ़ॉल्ट नोटिफिकेशन साउंड बजाना
RingtoneManager और MediaPlayer का उपयोग करके सिस्टम के डिफ़ॉल्ट नोटिफिकेशन/रिंगटोन/अलार्म साउंड को प्रोग्रामेटिकली बजाएं।
चरण 1-2: प्रोजेक्ट और लेआउट (मानक बटन लेआउट)
चरण 3: MainActivity.java
package app.tutorialspoint.com.notifyme;
import android.app.NotificationManager;
import android.content.Context;
import android.media.MediaPlayer;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.NotificationCompat;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity {
private static final String DEFAULT_CHANNEL_ID = "default";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnCreateNotification = findViewById(R.id.btnCreateNotification);
btnCreateNotification.setOnClickListener(v -> {
// डिफ़ॉल्ट नोटिफिकेशन साउंड URI प्राप्त करें
Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
// MediaPlayer से चलाएं (नोटिफिकेशन से स्वतंत्र)
MediaPlayer mp = MediaPlayer.create(getApplicationContext(), alarmSound);
mp.start();
// नोटिफिकेशन भी दिखाएं
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, DEFAULT_CHANNEL_ID)
.setSmallIcon(R.drawable.ic_launcher_foreground)
.setContentTitle("साउंड टेस्ट")
.setContentText("डिफ़ॉल्ट नोटिफिकेशन साउंड बजाया गया")
.setAutoCancel(true);
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify((int) System.currentTimeMillis(), builder.build());
});
}
}
RingtoneManager टाइप्स
| कॉन्स्टेंट | विवरण |
|---|---|
| TYPE_RINGTONE | डिफ़ॉल्ट रिंगटोन (कॉल के लिए) |
| TYPE_NOTIFICATION | डिफ़ॉल्ट नोटिफिकेशन साउंड |
| TYPE_ALARM | डिफ़ॉल्ट अलार्म साउंड |
| TYPE_ALL | सभी प्रकार (पिकर के लिए) |
MediaPlayer बेस्ट प्रैक्टिस
MediaPlayer mp = MediaPlayer.create(context, uri); mp.setOnCompletionListener(mediaPlayer -> mediaPlayer.release()); // संसाधन मुक्त करें mp.start();
नोटिफिकेशन चैनल में साउंड (Android 8.0+)
नोटिफिकेशन के साथ साउंड बजाने के लिए चैनल में सेट करें (आर्टिकल 1005061535 देखें)। केवल MediaPlayer से बजाने पर नोटिफिकेशन चैनल सेटिंग्स (DND, वॉल्यूम) लागू नहीं होतीं।