Your experience on this site will be improved by allowing cookies
To access the system alarm in Android, the Android AlarmManager is used. It is used to schedule an application to run at a specific time in the future, that works whether the phone is running or not. To guarantee not to sleep the phone until the broadcast is handled, a CPU wake lock is held by the Android AlarmManager.
In the below example, we are demonstrating the usage of the AlarmManager to run the alarm after a specific time provided by the user.
activity_main.xml:
In the activity_main.xml file, we will drag an EditText and a button.
Activity class:(File: MainActivity.java)
In the MainActivity.java file, we will write the code to start the alarm service when the user clicks on the button.
package com.example.radioapp; import android.app.AlarmManager; import android.app.PendingIntent; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends AppCompatActivity { Button start; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); start = findViewById(R.id.button); start.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startAlert(); } }); } public void startAlert() { EditText text = findViewById(R.id.time); int i = Integer.parseInt(text.getText().toString()); Intent intent = new Intent(this, MyBroadcastReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(this.getApplicationContext(), 234324243, intent, 0); AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (i * 1000), pendingIntent); Toast.makeText(this, "Alarm set:: " + i + " seconds", Toast.LENGTH_LONG).show(); } } |
BroadcastReceiver class:(File: MyBroadcastReceiver.java)
In the MyBroadcastReceiver class, we will write the code to start the alarm.:
package com.example.radioapp; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.media.MediaPlayer; import android.widget.Toast; class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { MediaPlayer mp=MediaPlayer.create(context, R.raw.alarm); mp.start(); Toast.makeText(context, "Alarm....", Toast.LENGTH_LONG).show(); } } |
package com.example.radioapp; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.media.MediaPlayer; import android.widget.Toast; class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { MediaPlayer mp=MediaPlayer.create(context, R.raw.alarm); mp.start(); Toast.makeText(context, "Alarm....", Toast.LENGTH_LONG).show(); } } |
Manifest file:(File: AndroidManifest.xml)
In the AndroidManifest.xml file, we will provide a receiver entry.
0 comments