Today in this tutorial I will show you how to use AlarmService in android.
For this you have to first create a project named AlarmDemo and copy this code into it.

import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class AlarmDemo extends Activity {
	Toast mToast;
	  @Override
		protected void onCreate(Bundle savedInstanceState) {
	        super.onCreate(savedInstanceState);
	        setContentView(R.layout.main);

	        Button button = (Button)findViewById(R.id.one_shot);
	        button.setOnClickListener(mOneShotListener);

	    }

	    private OnClickListener mOneShotListener = new OnClickListener() {
	        public void onClick(View v) {

	            Intent intent = new Intent(AlarmDemo.this, MyAlarmReceiver.class);
	            PendingIntent sender = PendingIntent.getBroadcast(AlarmDemo.this,
	                    0, intent, 0);

	            // We want the alarm to go off 10 seconds from now.
	            Calendar calendar = Calendar.getInstance();
	            calendar.setTimeInMillis(System.currentTimeMillis());
	            calendar.add(Calendar.SECOND, 10);

	            // Schedule the alarm!
	            AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
	            am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), sender);

	            // Tell the user about what we did.
	            if (mToast != null) {
	                mToast.cancel();
	            }
	            mToast = Toast.makeText(AlarmDemo.this,"Alarm Started",
	                    Toast.LENGTH_LONG);
	            mToast.show();
	        }
	    };
}

We use the AlarmManager class for creating an Alarm service.
Here we are setting the time to 10 seconds so after 10 seconds a Toast pops up.
For receiving the Broadcast we have to create a class the extends the BroadcastReceiver class on which the onReceive function gets called when the service ends.
So create a class named “MyAlarmReceiver.java” and copy this code into it.

package pack.coderzheaven;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

public class MyAlarmReceiver extends BroadcastReceiver
{
    @Override
    public void onReceive(Context context, Intent intent)
    {
        Toast.makeText(context, "Alarm Received after 10 seconds.", Toast.LENGTH_SHORT).show();
    }
}

This is the layout file main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:padding="4dip"
    android:gravity="center_horizontal"
    android:layout_width="fill_parent" android:layout_height="fill_parent">

    <TextView
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:layout_weight="0"
        android:paddingBottom="4dip"
        android:text="Alarm Demo"/>

    <Button android:id="@+id/one_shot"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:text="Start Alarm">
        <requestFocus />
    </Button>
</LinearLayout>

This class will be called after 10 seconds.

Now the important thing for receiving the Brodcast events you have to register with the AndroidManifest.

This is the AndroidManifest file for the above code

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="pack.coderzheaven"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".AlarmDemo"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
	<receiver android:name=".MyAlarmReceiver" android:process=":remote" />
    </application>
</manifest>

Alarm Demo

Alarm Demo


Alarm Demo

Alarm Demo

 

6 Comments

  1. Pingback: How to setUp a repeating Alarm in Android? | Coderz Heaven

  2. Allan J. August 19, 2011 at 4:14 am

    Where can I embed this code? Also, what services it can give if I embed this code to my phone? There are alarm monitoring services that i’ve been looking for, one thing is this.

     
    • James August 20, 2011 at 11:58 am

      @Allan:- You can modify this code to do whatever you want. YOu can embed this code in another application that needs an alarm service or something etc.

       
  3. Pingback: Conext alarm | Trkiyecumhuriy

  4. Pingback: Lista temelor si calendarul aferent | Aplicatii Mobile

  5. Pingback: Lista echipe AMA 2014-2015 (in curs de actualizare) | Aplicatii Mobile

Leave a Reply to James Cancel

Your email address will not be published. Required fields are marked *

 

 

 

Theme by HermesThemes

Copyright © 2018 CoderzHeaven. All Rights Reserved

Please wait...

Subscribe to our newsletter

Want to be notified when our article is published? Enter your email address and name below to be the first to know.