AlarmManager से अलार्म सेट करना
यह उदाहरण Kotlin में AlarmManager का उपयोग करके निर्धारित समय पर रिपीटिंग अलार्म सेट करना दर्शाता है।
चरण 1: नया प्रोजेक्ट बनाएं (Kotlin)
Android Studio में File → New Project चुनें और भाषा Kotlin चुनें।
चरण 2: लेआउट (activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:padding="8dp"
tools:context=".MainActivity">
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:orientation="vertical">
<TimePicker
android:id="@+id/timePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/buttonAlarm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="अलार्म सेट करें" />
</LinearLayout>
</RelativeLayout>
चरण 3: MainActivity.kt में AlarmManager लॉजिक
import android.app.AlarmManager
import android.app.PendingIntent
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.os.Build
import android.os.Bundle
import android.util.Log
import android.widget.Button
import android.widget.TimePicker
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import java.util.Calendar
class MainActivity : AppCompatActivity() {
lateinit var btnSetAlarm: Button
lateinit var timePicker: TimePicker
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
title = "Kotlin Alarm App"
timePicker = findViewById(R.id.timePicker)
btnSetAlarm = findViewById(R.id.buttonAlarm)
btnSetAlarm.setOnClickListener {
val calendar = Calendar.getInstance()
if (Build.VERSION.SDK_INT >= 23) {
calendar.set(
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH),
timePicker.hour,
timePicker.minute,
0
)
} else {
calendar.set(
calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH),
timePicker.currentHour,
timePicker.currentMinute,
0
)
}
setAlarm(calendar.timeInMillis)
}
}
private fun setAlarm(timeInMillis: Long) {
val alarmManager = getSystemService(Context.ALARM_SERVICE) as AlarmManager
val intent = Intent(this, MyAlarm::class.java)
val pendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_IMMUTABLE)
alarmManager.setRepeating(
AlarmManager.RTC,
timeInMillis,
AlarmManager.INTERVAL_DAY,
pendingIntent
)
Toast.makeText(this, "अलार्म सेट हो गया", Toast.LENGTH_SHORT).show()
}
class MyAlarm : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
Log.d("Alarm Bell", "अलार्म ट्रिगर हुआ")
}
}
}
चरण 4: AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="com.example.alarmmanager">
<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>
<receiver android:name=".MainActivity$MyAlarm" />
</application>
</manifest>
ऐप चलाएं
डिवाइस कनेक्ट करें, Run दबाएं, TimePicker से समय चुनें, "अलार्म सेट करें" दबाएं। अलार्म रोज़ उसी समय ट्रिगर होगा।
