Android AlarmManager
Simple Example in Java · Android Studio · Beginner Tutorial
1 Main Activity
MainActivity.java
package com.example.alarmapp; import android.app.AlarmManager; import android.app.PendingIntent; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { Button btnSetAlarm; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnSetAlarm = findViewById(R.id.btnSetAlarm); btnSetAlarm.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Intent for BroadcastReceiver Intent intent = new Intent(MainActivity.this, AlarmReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast( MainActivity.this, 0, intent, PendingIntent.FLAG_IMMUTABLE ); // Alarm Manager AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); // Set alarm after 5 seconds long triggerTime = System.currentTimeMillis() + 5000; alarmManager.set( AlarmManager.RTC_WAKEUP, triggerTime, pendingIntent ); Toast.makeText(MainActivity.this, "Alarm Set!", Toast.LENGTH_SHORT).show(); } }); } }
2 Broadcast Receiver
AlarmReceiver.java
package com.example.alarmapp; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toast; public class AlarmReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, "Alarm Triggered!", Toast.LENGTH_LONG).show(); } }
3 Layout XML
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical"> <Button android:id="@+id/btnSetAlarm" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Set Alarm"/> </LinearLayout>
4 Manifest Registration
AndroidManifest.xml — inside <application> tag
<receiver android:name=".AlarmReceiver"/>
📝 Note: Add the
<receiver> tag inside the <application> block of your AndroidManifest.xml so Android can route the broadcast to AlarmReceiver when the alarm fires.

0 Comments
If you have any doubts, Please let me know