Я пытаюсь создать событие напоминания, которое будет отображать уведомление в определенное время в моем приложении, ради этого примера я установил экземпляр Calendar
на одну минуту до текущего времени. Это мой код appointment.java
, здесь экземпляр Calendar
инициализируется текущим временем + одна минута для этого примера.
Calendar ctest = Calendar.getInstance();
ctest.add(Calendar.MINUTE, 1);
Intent myIntent = new Intent(Appointments.this, AlarmRec.class);
pendingIntent = PendingIntent.getBroadcast(Appointments.this, 0, myIntent,0);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC, ctest.getTimeInMillis(), pendingIntent);
Затем у меня есть следующий код в моем AlarmRec.class
, который действует как BroadcastReceiver.
public class AlarmRec extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Intent service1 = new Intent(context, MyAlarmService.class);
context.startService(service1);
}
}
Затем, наконец, в моем MyAlarmService.class
у меня есть следующее
public void onStart(Intent intent, int startId)
{
super.onStart(intent, startId);
mManager = (NotificationManager) this.getApplicationContext().getSystemService(this.getApplicationContext().NOTIFICATION_SERVICE);
Intent intent1 = new Intent(this.getApplicationContext(),MainActivity.class);
Notification notification = new Notification(R.drawable.ic_launcher,"This is a test message!", System.currentTimeMillis());
intent1.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP| Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingNotificationIntent = PendingIntent.getActivity( this.getApplicationContext(),0, intent1,PendingIntent.FLAG_UPDATE_CURRENT);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.setLatestEventInfo(this.getApplicationContext(), "AlarmManagerDemo", "This is a test message!", pendingNotificationIntent);
mManager.notify(0, notification);
}
и мой AndroidManifest
содержит
<service android:name=".MyAlarmService"
android:enabled="true" />
<receiver android:name=".AlarmRec"/>
проблема, с которой я сталкиваюсь, заключается в том, что ничего не отображается, никаких уведомлений или чего-то еще, поэтому я не уверен, что делаю что-то не так
Также, если я допустил ошибки в своем сообщении, пожалуйста, потерпите меня, если я допустил ошибки с форматированием вопроса.
РЕДАКТИРОВАТЬ
вау решил, спасибо за помощь, ребята, избавился от широковещательного приемника и просто воспользовался сервисом, хотя в конце он все еще не работал, я понял, что у меня небольшая опечатка в моем манифесте Android
<service android:name=".MyAlarmService"
android:enabled="true" />
Если вы видите, что я забыл указать имя пакета для службы, оно должно было быть myCF.MyAlarmService
Спасибо за помощь всем, я очень ценю это