В моем приложении я устанавливаю Уведомление, как показано ниже:
// for the PAYE 18 APRIL 2011 // 1
AM_EM_APRIL_2011 = (AlarmManager) getApplicationContext().getSystemService(Context.ALARM_SERVICE);
Intent in1 = new Intent(this, AlarmReceiverNotificationForEveryMonth.class);
in1.putExtra("MyMessage","Your PAYE return is DUE on 20th April 2011.");
PI_EM_APRIL_2011 = PendingIntent.getBroadcast(this, 1, in1, PendingIntent.FLAG_UPDATE_CURRENT);
Calendar calendar_PAYE_18_APRIL_2011 = Calendar.getInstance();
calendar_PAYE_18_APRIL_2011.setTimeInMillis(System.currentTimeMillis());
calendar_PAYE_18_APRIL_2011.set(2011, 3, 18,mHour, mMinute, 0);
AM_EM_APRIL_2011.set(AlarmManager.RTC_WAKEUP, calendar_PAYE_18_APRIL_2011.getTimeInMillis(),PI_EM_APRIL_2011);
Класс широковещания для уведомления:
public class AlarmReceiverNotificationForTwoMonth extends BroadcastReceiver{
//private Intent intent;
private NotificationManager notificationManager;
private Notification notification;
public static CharSequence contentText;
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
// My Notification Code
notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
int icon = R.drawable.app_icon;
//System.out.println("The ID Number is: "+Long.parseLong(intent.getData().getSchemeSpecificPart()) );
contentText = intent.getStringExtra("MyMessage");
System.out.println("The Message is: "+intent.getStringExtra("MyMessage"));
CharSequence text = "Your tax amount due period";
CharSequence contentTitle = "Tax Calculator App";
long when = System.currentTimeMillis();
intent = new Intent(context, MenuPageActivity.class);
intent.putExtra("twoMonth", "twoMonth");
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
notification = new Notification(icon,text,when);
long[] vibrate = {0,100,200,300};
notification.vibrate = vibrate; // To vibrate the Device
notification.ledARGB = Color.RED;
notification.ledOffMS = 300;
notification.ledOnMS = 300;
notification.defaults |= Notification.DEFAULT_LIGHTS;
//notification.flags |= Notification.FLAG_SHOW_LIGHTS;
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
notificationManager.notify(NotificationConstants.NOTIFICATION_ID_TWO_MONTH, notification);
}
}
Все работыхорошо с этим кодом.и я получил уведомление.Но, используя это, я получал уведомления каждый раз, когда перезагружал устройство.и в этом уведомлении нет никаких сообщений.Почему так происходит ???Пожалуйста, помогите мне в этом.или что не так в моем коде ???
Спасибо. Отредактировано
Я сделал это в manifest.xml
<!-- To receive the Alarm Notification for two months-->
<receiver android:name=".AlarmReceiverNotificationForTwoMonth" android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</receiver>