Mega Code Archive

 
Categories / Android / Network
 

Alarm service

//http://moazzam-khan.com/blog/?p=157 package app.test; import java.util.Calendar; import android.app.Activity; import android.app.AlarmManager; import android.app.PendingIntent; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent;  class AlarmReceiver extends BroadcastReceiver {   @Override   public void onReceive(Context context, Intent arg1) {     context.startService(new Intent(context, AlarmReceiver.class));   } } public class Test extends Activity implements OnClickListener {   private static Test appRef = null;   private Button b_call_service, b_exit_service;   boolean k = false;   @Override   public void onCreate(Bundle icicle) {     super.onCreate(icicle);     appRef = this;     setContentView(R.layout.main);     b_call_service = (Button) findViewById(R.id.call_alarm_service);     b_call_service.setOnClickListener(this);     b_exit_service = (Button) findViewById(R.id.exit);     b_exit_service.setOnClickListener(this);   }   public static Test getApp() {     return appRef;   }   public void btEvent(String data) {     setTitle(data);   }   public void onClick(View arg0) {     if (arg0 == b_call_service) {       setTitle("Waiting... Alarm=5");       Intent intent = new Intent(Test.this, AlarmReceiver.class);       PendingIntent p_intent = PendingIntent.getBroadcast(           Test.this, 0, intent, 0);       Calendar calendar = Calendar.getInstance();       calendar.setTimeInMillis(System.currentTimeMillis());       calendar.add(Calendar.SECOND, 5);       AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);       am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),           p_intent);     }     if (arg0 == b_exit_service) {       Intent intent = new Intent(Test.this, AlarmReceiver.class);       PendingIntent p_intent = PendingIntent.getBroadcast(           Test.this, 0, intent, 0);       AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);       am.cancel(p_intent);       finish();     }   } } //main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:orientation="vertical"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     > <TextView       android:layout_width="fill_parent"      android:layout_height="wrap_content"      android:text="@string/hello"     />          <Button     android:id="@+id/call_alarm_service"     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="call_alarm_service"        />         <Button     android:id="@+id/exit"     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="Exit"        />      </LinearLayout>