19 Jul 2012

Alarm Service | AlarmManagerExample in android

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

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>

AndroidManifest :

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.hb"
    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>


MyAlarmReceiver.class
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();
    }
}

AlarmDemo.class
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();
              }
       };
}

Ref Link:
Link1:
Link2:
AlarmManagerExample : Visit 

I will be happy if you will provide your feedback or follow this blog. Any suggestion and help will be appreciated.

Thank you :)


2 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. This is just idea for developer how we can custom implement Alarm service using service. there will be some app in which we need to implement This functionality so any one can get idea from this post.

    ReplyDelete