কম্পিউটার

কোটলিন ব্যবহার করে অ্যান্ড্রয়েডের একটি পরিষেবা থেকে কীভাবে একটি বিজ্ঞপ্তি পাঠাবেন?


কোটলিন ব্যবহার করে Android-এ একটি পরিষেবা থেকে কীভাবে একটি বিজ্ঞপ্তি পাঠাতে হয় এই উদাহরণটি দেখায়৷

ধাপ 1 − অ্যান্ড্রয়েড স্টুডিওতে একটি নতুন প্রকল্প তৈরি করুন, ফাইল ⇒ নতুন প্রকল্পে যান এবং একটি নতুন প্রকল্প তৈরি করতে সমস্ত প্রয়োজনীয় বিবরণ পূরণ করুন৷

ধাপ 2 − res/layout/activity_main.xml-এ নিম্নলিখিত কোড যোগ করুন।

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
   xmlns:tools="https://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical"
   tools:context=".MainActivity">
   <EditText
      android:id="@+id/editText"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:hint="Input" />
   <Button
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:onClick="startService"
      android:text="Start Service" />
   <Button
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:onClick="stopService"
      android:text="Stop Service" />
</LinearLayout>

ধাপ 3 − নিম্নলিখিত কোডটি src/MainActivity.kt

এ যোগ করুন
import android.content.Intent
import android.os.Bundle
import android.view.View
import android.widget.EditText
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
class MainActivity : AppCompatActivity() {
   lateinit var editText: EditText
   override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)
      setContentView(R.layout.activity_main)
      title = "KotlinApp"
      editText = findViewById(R.id.editText)
   }
   fun startService(view: View) {
      val input: String = editText.text.toString()
      val serviceIntent = Intent(this, ExampleService::class.java)
      serviceIntent.putExtra("inputExtra", input)
      ContextCompat.startForegroundService(this, serviceIntent)
   }
   fun stopService(view: View) {
      val serviceIntent = Intent(this, ExampleService::class.java)
      stopService(serviceIntent)
   }
}

পদক্ষেপ 4৷ - পরিষেবার জন্য একটি নতুন ক্লাস তৈরি করুন (ExampleService.kt) এবং নিম্নলিখিত যোগ করুন −

import android.app.*
import android.content.Intent
import android.os.Build
import android.os.IBinder
import androidx.annotation.RequiresApi
import androidx.core.app.NotificationCompat
class ExampleService : Service() {
   private val channelId = "Notification from Service"
   @RequiresApi(Build.VERSION_CODES.O)
   override fun onCreate() {
      super.onCreate()
      if (Build.VERSION.SDK_INT >= 26) {
         val channel = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            NotificationChannel(
               channelId,
               "Channel human readable title",
               NotificationManager.IMPORTANCE_DEFAULT
            )
         } else {
            TODO("VERSION.SDK_INT < O")
         }
         (getSystemService(NOTIFICATION_SERVICE) as NotificationManager).createNotificationChannel(
            channel
         )
      }
   }
   override fun onStartCommand(intent: Intent, flags: Int, startId: Int): Int {
      val input = intent.getStringExtra("inputExtra")
      val notificationIntent = Intent(this, MainActivity::class.java)
      val pendingIntent = PendingIntent.getActivity(
         this,
         0, notificationIntent, 0
      )
      val notification: Notification = NotificationCompat.Builder(this, channelId)
         .setContentTitle("Example Service")
         .setContentText(input)
         .setSmallIcon(R.drawable.notification)
         .setContentIntent(pendingIntent)
         .build()
      startForeground(1, notification)
      return START_NOT_STICKY
   }
   override fun onBind(p0: Intent?): IBinder? {
      return null
   }
}

ধাপ 5 − androidManifest.xml

-এ নিম্নলিখিত কোড যোগ করুন
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="com.example.q11">
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
   <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>

আপনার অ্যাপ্লিকেশন চালানোর চেষ্টা করা যাক. আমি ধরে নিচ্ছি আপনি আপনার কম্পিউটারের সাথে আপনার আসল অ্যান্ড্রয়েড মোবাইল ডিভাইসটি সংযুক্ত করেছেন৷ অ্যান্ড্রয়েড স্টুডিও থেকে অ্যাপটি চালাতে, আপনার প্রোজেক্টের অ্যাক্টিভিটি ফাইলগুলির একটি খুলুন এবং রান আইকনে ক্লিক করুন টুলবার থেকে কোটলিন ব্যবহার করে অ্যান্ড্রয়েডের একটি পরিষেবা থেকে কীভাবে একটি বিজ্ঞপ্তি পাঠাবেন? । একটি বিকল্প হিসাবে আপনার মোবাইল ডিভাইসটি নির্বাচন করুন এবং তারপরে আপনার মোবাইল ডিভাইসটি পরীক্ষা করুন যা আপনার ডিফল্ট স্ক্রীন প্রদর্শন করবে৷

কোটলিন ব্যবহার করে অ্যান্ড্রয়েডের একটি পরিষেবা থেকে কীভাবে একটি বিজ্ঞপ্তি পাঠাবেন?

কোটলিন ব্যবহার করে অ্যান্ড্রয়েডের একটি পরিষেবা থেকে কীভাবে একটি বিজ্ঞপ্তি পাঠাবেন?


  1. কিভাবে ইনবক্সস্টাইল ব্যবহার করে একটি অ্যান্ড্রয়েড বিজ্ঞপ্তি স্টাইল করবেন?

  2. কিভাবে Android এ বিজ্ঞপ্তি থেকে একটি পরিষেবা শুরু করবেন?

  3. অ্যান্ড্রয়েডে অ্যালার্ম ম্যানেজার ব্যবহার করে কীভাবে পরিষেবা শুরু করবেন?

  4. জাভামেইল এপিআই ব্যবহার করে অ্যান্ড্রয়েডে ইমেল কীভাবে পাঠাবেন?