Я пытаюсь создать уведомление в определенное время. Я создаю широковещательный приемник и вызываю его через AlarmManager. Проблема в том, что трансляция не получена и что я не получаю никаких уведомлений.Создание уведомления в определенное время через диспетчер аварийных сигналов
Регистрация приемника вещания в манифесте,
<receiver
android:name="com.example.android.receivers">
<intent-filter>
<action android:name="com.example.android.receivers.AlarmReceiver" />
</intent-filter>
</receiver>
Это Broadcast Receiver,
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context pContext, Intent pIntent) {
// if (pIntent.getAction().equalsIgnoreCase("")) {
//
// }
Log.d("Alarm Receiver", "onReceive called");
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(pContext).setSmallIcon(R.drawable.icon).setContentTitle("Test Notification")
.setContentText("Test Notification made by Syed Ahmed Hussain");
Intent resultIntent = new Intent(pContext, CalendarView.class);
// The stack builder object will contain an artificial back stack for the
// started Activity.
// This ensures that navigating backward from the Activity leads out of
// your application to the Home screen.
TaskStackBuilder stackBuilder = TaskStackBuilder.create(pContext);
// Adds the back stack for the Intent (but not the Intent itself)
stackBuilder.addParentStack(CalendarView.class);
// Adds the Intent that starts the Activity to the top of the stack
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
notificationBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager = (NotificationManager) pContext.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(1, notificationBuilder.build());
}
}
код от основной деятельности, который создает сигнал тревоги.
/**
*
* @param pDate
* @param pTime
*/
private void createNotification(String pDate, String pTime) {
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, AlarmReceiver.class);
PendingIntent alarmIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
// alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + 60 * 1000, alarmIntent);
alarmManager.set(AlarmManager.RTC_WAKEUP, Calendar.getInstance().getTimeInMillis(), alarmIntent);
}
Может ли кто-нибудь указать и исправить то, что я делаю неправильно? Спасибо.
не ответил ли мне ответ? – nsL