আপনার অ্যাপের কিছু পরিস্থিতিতে, যেমন চলমান অ্যালার্ম বা ইনকামিং কল, ব্যবহারকারীর মনোযোগ আকর্ষণের জন্য জরুরি প্রয়োজন হতে পারে। Android 9 (API লেভেল 28) বা তার আগের ভার্সন চালিত ডিভাইসগুলিকে টার্গেট করে এমন অ্যাপগুলিতে, অ্যাপটি ব্যাকগ্রাউন্ডে থাকা অবস্থায় একটি অ্যাক্টিভিটি চালু করে আপনি এটি মোকাবেলা করতে পারেন। এই ডকুমেন্টটি Android 10 (API লেভেল 29) থেকে Android 13 (API লেভেল 33) চলমান ডিভাইসগুলিতে কীভাবে এই আচরণ অর্জন করবেন তা দেখায়।
POST_NOTIFICATIONS অনুমতি যোগ করুন
Android 13 থেকে শুরু করে, আপনার AndroidManifest.xml ফাইলে নিম্নলিখিত লাইনটি যোগ করুন:
<manifest ...> <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> <application ...> ... </application> </manifest>
একবার আপনার কাছে এটি হয়ে গেলে, আপনি একটি বিজ্ঞপ্তি চ্যানেল তৈরি করতে পারেন।
একটি বিজ্ঞপ্তি চ্যানেল তৈরি করুন
আপনার বিজ্ঞপ্তিগুলি সঠিকভাবে প্রদর্শন করার জন্য একটি বিজ্ঞপ্তি চ্যানেল তৈরি করুন এবং ব্যবহারকারীকে অ্যাপ সেটিংসে বিজ্ঞপ্তিগুলি পরিচালনা করতে দিন। বিজ্ঞপ্তি চ্যানেল সম্পর্কে আরও তথ্যের জন্য, বিজ্ঞপ্তি চ্যানেলগুলি তৈরি এবং পরিচালনা করুন দেখুন।
আপনার Application ক্লাসের onCreate পদ্ধতিতে আপনার বিজ্ঞপ্তি চ্যানেল তৈরি করুন:
কোটলিন
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) } }
যখন ব্যবহারকারী প্রথমবারের মতো আপনার অ্যাপটি চালান, তখন তারা আপনার অ্যাপের অ্যাপ তথ্য সিস্টেম স্ক্রিনে চিত্র ১ এর মতো কিছু দেখতে পান:

বিজ্ঞপ্তির অনুমতি পরিচালনা করুন
অ্যান্ড্রয়েড ১৩ থেকে শুরু করে, ব্যবহারকারীদের বিজ্ঞপ্তি দেখানোর আগে বিজ্ঞপ্তির অনুমতির জন্য অনুরোধ করুন।
সর্বনিম্ন বাস্তবায়ন এইরকম দেখাচ্ছে:
কোটলিন
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 বোতামে ট্যাপ করলে চিত্র 2-এ দেখানো ডায়ালগটি ট্রিগার হবে:

ব্যবহারকারী যদি অনুমতির অনুরোধ গ্রহণ করেন, তাহলে অ্যাপের অ্যাপ তথ্য বিভাগটি চিত্র ৩ এর মতো দেখাবে:

একটি উচ্চ-অগ্রাধিকার বিজ্ঞপ্তি তৈরি করুন
বিজ্ঞপ্তি তৈরি করার সময়, একটি বর্ণনামূলক শিরোনাম এবং বার্তা অন্তর্ভুক্ত করুন।
নিম্নলিখিত উদাহরণে একটি বিজ্ঞপ্তি রয়েছে:
কোটলিন
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() ফাংশনটি কল করলে নিম্নরূপ বিজ্ঞপ্তিটি ট্রিগার হয়:
কোটলিন
Button(onClick = { showNotification() }) { Text(text = "Show notification") }
এই উদাহরণে বিজ্ঞপ্তিটি চিত্র ৪ এর মতো দেখাচ্ছে:

চলমান বিজ্ঞপ্তি
যখন আপনি ব্যবহারকারীকে আপনার বিজ্ঞপ্তি প্রদর্শন করেন, তখন তারা আপনার অ্যাপের সতর্কতা বা অনুস্মারক স্বীকার বা বাতিল করতে পারে। উদাহরণস্বরূপ, ব্যবহারকারী একটি ইনকামিং ফোন কল গ্রহণ বা প্রত্যাখ্যান করতে পারে।
যদি আপনার বিজ্ঞপ্তি চলমান থাকে, যেমন একটি ইনকামিং ফোন কল, তাহলে বিজ্ঞপ্তিটিকে একটি ফোরগ্রাউন্ড পরিষেবার সাথে সংযুক্ত করুন। নিম্নলিখিত কোড স্নিপেটটি দেখায় কিভাবে একটি ফোরগ্রাউন্ড পরিষেবার সাথে সম্পর্কিত একটি বিজ্ঞপ্তি প্রদর্শন করতে হয়:
কোটলিন
// Provide a unique integer for the "notificationId" of each notification. startForeground(notificationId, notification)
জাভা
// Provide a unique integer for the "notificationId" of each notification. startForeground(notificationId, notification);