В моём приложении после загрузки телефона устанавливается время в календаре для вызова напоминания
public class BootUpReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent myIntent = new Intent(context , NotifyService.class);
AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
PendingIntent pendingIntent = PendingIntent.getService(context, 0, myIntent, 0);
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 22);
calendar.set(Calendar.MINUTE, 23);
calendar.set(Calendar.SECOND, 00);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 24*60*60 * 1000, pendingIntent); //set repeating every 24 hours
}
}
который вызывает сервис напоминания
public class NotifyService extends Service {
NotificationManager nm;
@Override
public void onCreate() {
super.onCreate();
nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
sendNotif();
return super.onStartCommand(intent, flags, startId);
}
void sendNotif() {
Intent intent = new Intent(this, SplashActivity.class);
PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 0);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
.setContentTitle("UpgradeIM")
.setSmallIcon(R.drawable.ic_launcher)
.setContentIntent(pIntent)
.setContentText("Пора написать отчёт за день")
.setAutoCancel(true);
//add sound
Uri uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
mBuilder.setSound(uri);
//vibrate
long[] v = {500,1000};
mBuilder.setVibrate(v);
nm.notify(3, mBuilder.build());
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
По моим планам это должно быть только одно уведомление в 22:23, но уведомление появляется 4-5 раз за день в совершенно рандомное время и один раз в назначенное.
Что я сделал не так? Как посмотреть в телефоне вообще все установленные на день напоминания от приложений?