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.
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.
This is the layout file main.xml
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
For this you have to first create a project named AlarmDemo and copy this code into it.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
| 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(); } }; } |
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();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <? 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 > |
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| <? 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 > |
No comments:
Post a Comment