SmsManager ক্লাস ব্যবহার করে SMS পাঠানো
এই উদাহরণটি দেখায় কিভাবে কোটলিন ব্যবহার করে এন্ড্রয়েডে SmsManager ক্লাস ব্যবহার করে SMS পাঠানো যায়। ডুয়াল SIM ডিভাইসের জন্য ডিফল্ট SMS ম্যানেজার ব্যবহার করা হয়েছে। রানটাইম পারমিশন হ্যান্ডলিং করা হয়েছে।
ধাপ ১: নতুন প্রজেক্ট তৈরি করুন
Android Studio-তে File → New Project এ যান এবং প্রজেক্ট তৈরি করুন।
ধাপ ২: লেআউট XML ফাইল কনফিগার করুন
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"
android:padding="4dp"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextNum"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="মোবাইল নম্বর লিখুন"
android:textColor="@android:color/black" />
<EditText
android:id="@+id/editTextMsg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="আপনার মেসেজ লিখুন"
android:textColor="@android:color/black" />
<Button
android:id="@+id/btnSendMsg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="5dp"
android:onClick="sendMessage"
android:text="মেসেজ পাঠান" />
</LinearLayout>
ধাপ ৩: MainActivity.kt ফাইলে লজিক লিখুন
import android.Manifest
import android.content.pm.PackageManager
import android.os.Bundle
import android.telephony.SmsManager
import android.text.TextUtils
import android.view.View
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
class MainActivity : AppCompatActivity() {
lateinit var button: Button
lateinit var editTextNumber: EditText
lateinit var editTextMessage: EditText
private val permissionRequest = 101
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
title = "KotlinApp"
editTextNumber = findViewById(R.id.editTextNum)
editTextMessage = findViewById(R.id.editTextMsg)
button = findViewById(R.id.btnSendMsg)
}
fun sendMessage(view: View) {
val permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.SEND_SMS)
if (permissionCheck == PackageManager.PERMISSION_GRANTED) {
myMessage()
} else {
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.SEND_SMS), permissionRequest)
}
}
private fun myMessage() {
val myNumber: String = editTextNumber.text.toString().trim()
val myMsg: String = editTextMessage.text.toString().trim()
if (myNumber == "" || myMsg == "") {
Toast.makeText(this, "ফিল্ড খালি রাখা যাবে না", Toast.LENGTH_SHORT).show()
} else {
if (TextUtils.isDigitsOnly(myNumber)) {
val smsManager: SmsManager = SmsManager.getDefault()
smsManager.sendTextMessage(myNumber, null, myMsg, null, null)
Toast.makeText(this, "মেসেজ পাঠানো হয়েছে", Toast.LENGTH_SHORT).show()
} else {
Toast.makeText(this, "সঠিক নম্বর লিখুন", Toast.LENGTH_SHORT).show()
}
}
}
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
if (requestCode == permissionRequest) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
myMessage()
} else {
Toast.makeText(this, "SMS পাঠাতে পারমিশন নেই", Toast.LENGTH_SHORT).show()
}
}
}
}
ধাপ ৪: AndroidManifest.xml-এ SEND_SMS পারমিশন যোগ করুন
<uses-permission android:name="android.permission.SEND_SMS" />
অ্যাপ্লিকেশন চালানোর পদ্ধতি
ডিভাইস সংযুক্ত করে Run করুন। নম্বর এবং মেসেজ লিখে "মেসেজ পাঠান" বাটনে ক্লিক করুন। পারমিশন চাইলে দিন।