Я пытаюсь сделать напоминание, которое будет отображать уведомление в определенное время в моем приложении для этого примера. Я установил экземпляр Calendar
на одну минуту до текущего времени. Это мой код appointment.java
, здесь экземпляр Calendar
инициализируется текущим временем + одна минута ради этого примера.Android Set Event с помощью диспетчера аварийных сигналов?
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"/>
проблема, которую я имею ничто, что отображается никаких уведомлений или что-нибудь так, Я не уверен, что я делаю что-то неправильно
Также, если я допустил ошибки в своем посте, пожалуйста, несите меня, если я сделал ошибки с моим форматированием в вопросе.
EDIT
вау решен спасибо за помощью, ребята, избавившись от радиовещательного приемника и просто использовал услугу, хотя она по-прежнему не работает, в конце я понял, я был маленький опечатка в моем андроиде манифеста
<service android:name=".MyAlarmService" android:enabled="true" />
Если вы видите, что я забыл указать свое имя пакета для службы должен был myCF.MyAlarmService
Спасибо за помощь всем, я действительно ценю это
В чем проблема? – Hardik
ничего не отображается, ничего не происходит – theForgottenCoder
Почему вы используете широковещательный приемник здесь, вы хотите начать сервис во время загрузки? – Hardik