Payday Loan Payday Loan

Hi, today i want to put all this stuff in one place, because i never found toghether and correct, this informations.
Mainly, the purpose of this tutorial is to create and set a reminder/alarm on a certain date. This reminder will appear like a notification with sound and vibration, even if we closed the app that setted this reminder/alarm.

In the Main.java class we will set the alarm. I will just show you how to set it, but you need to put this code in a button or somewhere else where you need it.

	Calendar cal = Calendar.getInstance();       //for using this you need to import java.util.Calendar;
 
				// add minutes to the calendar object
				cal.set(Calendar.MONTH, 4);
				cal.set(Calendar.YEAR, 2011);				
				cal.set(Calendar.DAY_OF_MONTH, 5);
				cal.set(Calendar.HOUR_OF_DAY, 21);
				cal.set(Calendar.MINUTE, 43);
//cal.set will set the alarm to trigger exactly at: 21:43, 5 May 2011
//if you want to trigger the alarm after let's say 5 minutes after is activated you need to put
//cal.add(Calendar.MINUTE, 5);
	Intent alarmintent = new Intent(getApplicationContext(), AlarmReceiver.class);
alarmintent.putExtra("title","Title of our Notification");
alarmintent.putExtra("note","Description of our  Notification");
//HELLO_ID is a static variable that must be initialised at the BEGINNING OF CLASS with 1;
 
//example:protected static int HELLO_ID =1;
PendingIntent sender = PendingIntent.getBroadcast(getApplicationContext(), HELLO_ID,
alarmintent,PendingIntent.FLAG_UPDATE_CURRENT|  Intent.FILL_IN_DATA);
//VERY IMPORTANT TO SET FLAG_UPDATE_CURRENT... this will send correct extra's informations to 
//AlarmReceiver Class
				// Get the AlarmManager service
 
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender);

Now I will show you AlarmReceiver.java
This class must be declared in Manifest as a receiver because it will extend BroadcastReceiver.
So we put in Manifest before tag the following line:

 <receiver android:name=".AlarmReceiver"></receiver>

Code for AlarmReceiver.java. Please follow comments instructions also.

 
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.widget.Toast;
 
public class AlarmReceiver extends BroadcastReceiver {
 
	private static int NOTIFICATION_ID = 1;
 
	@Override
	public void onReceive(Context context, Intent intent) {
 
	        // NotificationManager mNotificationManager = 
(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
NotificationManager manger = (NotificationManager)     
context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.icon, "Combi Note",
 System.currentTimeMillis());
PendingIntent contentIntent = PendingIntent.getActivity(context, 
NOTIFICATION_ID, 
new Intent(context, AlarmReceiver.class), 0);
		Bundle extras=intent.getExtras();
		String title=extras.getString("title");
//here we get the title and description of our Notification
			//
		String note=extras.getString("note");
		notification.setLatestEventInfo(context, note, title, contentIntent);
		notification.flags = Notification.FLAG_INSISTENT;
		notification.defaults |= Notification.DEFAULT_SOUND;
//here we set the default sound for our 
//notification
 
		// The PendingIntent to launch our activity if the user selects this notification
		manger.notify(NOTIFICATION_ID++, notification);
 
 
 
	}
 
};

I hope i make it clear and simple how you can set a notification that can be a reminder or an alarm that will be activated even if we closed the app or processes.

||||| 0 I Like It! |||||

Search

Popular

Sponsors