কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েড Oreo এবং তার উপরে কাস্টম নোটিফিকেশন সাউন্ড


Android Oreo+ এ NotificationChannel দিয়ে কাস্টম সাউন্ড সেট করা

Android 8.0 (Oreo) থেকে নোটিফিকেশন চ্যানেল বাধ্যতামূলক। এই উদাহরণটি দেখাবে কিভাবে চ্যানেল তৈরি করে কাস্টম সাউন্ড, ভাইব্রেশন, লাইট ইত্যাদি কনফিগার করা যায়।

ধাপ ১: নতুন প্রজেক্ট তৈরি

Android Studio-তে File → New Project যান।

ধাপ ২: লেআউট ফাইল (res/layout/activity_main.xml)

<? xml version = "1.0" encoding = "utf-8" ?> <android.support.constraint.ConstraintLayout    xmlns: android = "https://schemas.android.com/apk/res/android"    xmlns: app = "https://schemas.android.com/apk/res-auto"    xmlns: tools = "https://schemas.android.com/tools"    android :layout_width = "match_parent"    android :layout_height = "match_parent"    android :padding = "16dp"    tools :context = ".MainActivity" >    <Button       android :id = "@+id/btnCreateNotification"       android :layout_width = "0dp"       android :layout_height = "wrap_content"       android :text = "Create notification"       app :layout_constraintBottom_toBottomOf = "parent"       app :layout_constraintEnd_toEndOf = "parent"       app :layout_constraintStart_toStartOf = "parent"       app :layout_constraintTop_toTopOf = "parent" /> </android.support.constraint.ConstraintLayout>

ধাপ ৩: raw ফোল্ডারে সাউন্ড ফাইল যোগ করুন

`res/raw/` ফোল্ডারে `quite_impressed.mp3` রাখুন।

অ্যান্ড্রয়েড Oreo এবং তার উপরে কাস্টম নোটিফিকেশন সাউন্ড

ধাপ ৪: MainActivity.java (src/MainActivity.java)

package app.tutorialspoint.com.notifyme ; import android.app.NotificationChannel ; import android.app.NotificationManager ; import android.content.ContentResolver ; import android.content.Context ; import android.graphics.Color ; import android.media.AudioAttributes ; import android.net.Uri ; import android.support.v4.app.NotificationCompat ; import android.support.v7.app.AppCompatActivity ; import android.os.Bundle ; import android.view.View ; import android.widget.Button ; public class MainActivity extends AppCompatActivity {    public static final String NOTIFICATION_CHANNEL_ID = "10001" ;    private final static String default_notification_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( new View.OnClickListener() {          @Override          public void onClick (View v) {             Uri sound = Uri. parse (ContentResolver. SCHEME_ANDROID_RESOURCE + "://" + getPackageName() + "/raw/quite_impressed.mp3" ) ;             NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(MainActivity. this, default_notification_channel_id )                .setSmallIcon(R.drawable. ic_launcher_foreground )                .setContentTitle( "Test" )                .setSound(sound)                .setContentText( "Hello! This is my first push                notification" ) ;             NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context. NOTIFICATION_SERVICE );             if (android.os.Build.VERSION. SDK_INT >= android.os.Build.VERSION_CODES. O ) {                AudioAttributes audioAttributes = new AudioAttributes.Builder()                   .setContentType(AudioAttributes. CONTENT_TYPE_SONIFICATION )                   .setUsage(AudioAttributes. USAGE_ALARM )                   .build() ;                int importance = NotificationManager. IMPORTANCE_HIGH ;                NotificationChannel notificationChannel = new NotificationChannel( NOTIFICATION_CHANNEL_ID , "NOTIFICATION_CHANNEL_NAME" , importance) ;                notificationChannel.enableLights( true ) ;                notificationChannel.setLightColor(Color. RED ) ;                notificationChannel.enableVibration( true ) ;                notificationChannel.setVibrationPattern( new long []{ 100 , 200 , 300 , 400 , 500 , 400 , 300 , 200 , 400 }) ;                notificationChannel.setSound(sound , audioAttributes) ;                mBuilder.setChannelId( NOTIFICATION_CHANNEL_ID ) ;                assert mNotificationManager != null;                mNotificationManager.createNotificationChannel(notificationChannel) ;             }             assert mNotificationManager != null;             mNotificationManager.notify(( int ) System. currentTimeMillis () ,             mBuilder.build()) ;          }       }) ;    } }

ধাপ ৫: AndroidManifest.xml

<? xml version= "1.0" encoding= "utf-8" ?> <manifest xmlns: android = "https://schemas.android.com/apk/res/android"    package= "app.tutorialspoint.com.notifyme" >    <application       android :allowBackup= "true"       android :icon= "@mipmap/ic_launcher"       android :label= "@string/app_name"       android :roundIcon= "@mipmap/ic_launcher_round"       android :supportsRtl= "true"       android :theme= "@style/AppTheme" >       <activity android :name= ".MainActivity" >          <intent-filter>             <action android :name= "android.intent.action.MAIN" />             <category android :name= "android.intent.category.LAUNCHER" />          </intent-filter>       </activity>    </application> </manifest>

অ্যাপ্লিকেশন চালান

ডিভাইস সংযুক্ত থাকলে Run আইকনে ক্লিক করুন। নোটিফিকেশনে কাস্টম সাউন্ড বাজবে।

অ্যান্ড্রয়েড Oreo এবং তার উপরে কাস্টম নোটিফিকেশন সাউন্ড


  1. আপনার অ্যান্ড্রয়েড ডিভাইসে কল ও নোটিফিকেশনের জন্য র‍্যান্ডম সাউন্ড বাজানো

  2. আইফোন ও অ্যান্ড্রয়েডের জন্য সেরা VR গেম: ডুবদিয়ে যাওয়া অভিজ্ঞতার অপেক্ষায়

  3. অ্যান্ড্রয়েড মারশম্যালো ও ললিপপের জন্য টপ কাস্টম ROM: পারফরম্যান্স, সিকিউরিটি ও লংজেভিটি

  4. উইন্ডোজ ১০/৮/৭-এর জন্য সেরা ১৫টি অ্যান্ড্রয়েড এমুলেটর: গতি, সাংঘাতিকতা ও ব্যবহারিকতা