не отображается одно из уведомлений - PullRequest
0 голосов
/ 02 ноября 2019

Я создал два уведомления в программе. Первый работал правильно, и уведомление отображалось правильно, пока я не создал второе. С этого момента будет отображаться только второе уведомление,

Я также назначил уникальный идентификатор для каждого из уведомлений.

открытый класс NotificationReward {

public static final int DAILY_REMINDER_REQUEST_CODE = 100;
public static NotificationManager manager_gift;

public static void setReminder(Context context, Class<?> cls) {

    GregorianCalendar time_reward = new GregorianCalendar();
    time_reward.add(Calendar.DATE, 1);
    Log.d("Time Reward", time_reward.getTime() + "");
    //Log.d("Time Reward Millis", time_reward.getTimeInMillis() + "");

    ComponentName receiver = new ComponentName(context, cls);
    PackageManager pm = context.getPackageManager();

    pm.setComponentEnabledSetting(receiver, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);

    Intent intent1 = new Intent(context, cls);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(context, DAILY_REMINDER_REQUEST_CODE, intent1, PendingIntent.FLAG_UPDATE_CURRENT);
    AlarmManager am = (AlarmManager) context.getSystemService(ALARM_SERVICE);
    am.setInexactRepeating(AlarmManager.RTC_WAKEUP, time_reward.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);
}

public static void addNotification(Context context) {
    NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
            .setSmallIcon(R.drawable.owl_notif)
            .setOngoing(false)
            .setAutoCancel(true)
            .setLights(Color.RED, 100, 100)
            .setVibrate(new long[]{1000, 1000, 1000, 1000, 1000})
            .setColor(context.getResources().getColor(R.color.colorAccent))
            .setContentTitle(context.getString(R.string.notif_tittle))
            .setContentText(context.getString(R.string.notif_text));

    Intent notificationIntent = new Intent(context, Activity_Splash.class);
    PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
    builder.setContentIntent(contentIntent);
    manager_gift = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
        NotificationChannel nChannel = new NotificationChannel("1", "Daily Gift", NotificationManager.IMPORTANCE_DEFAULT);
        nChannel.enableLights(true);
        assert manager_gift != null;
        builder.setChannelId("1");
        manager_gift.createNotificationChannel(nChannel);
    }
    manager_gift.notify(1, builder.build());
}

}

...