这是我的问题:我有通知列表,希望在不同的时间显示它们,但它们同时显示在一起。
第一次调用updateLabel函数:
私有空updateLabel(ArrayList通知实体){
int timer = 5000;
for (int i = 0; i < notificationEntities.size(); i++) {
Notification notification = addNotification(notificationEntities.get(i));
scheduleNotification(notificationEntities.get(i).getId(), notification, (long) timer);
timer += 10000;
}
}
然后创建通知:
私人通知add NotificationEntity(NotificationEntity){
NotificationCompat.Builder notification = new NotificationCompat.Builder(this, default_notification_channel_id)
.setSmallIcon(R.drawable.ic_baseline_android_24)
.setContentTitle("Notifications Example")
.setContentText("This is a test notification for " + notificationEntity.getType() + " with id " + notificationEntity.getId())
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setCategory(NotificationCompat.CATEGORY_REMINDER)
.setVibrate(new long[]{0, 1000, 1000})
.setChannelId(NOTIFICATION_CHANNEL_ID);
return notification.build();
}
然后安排通知:
私有void scheduleNotification(int notificationId、通知通知、长延迟){
int requestID = (int) System.currentTimeMillis();
Intent notificationIntent = new Intent(this, NotificationPublisher.class);
notificationIntent.putExtra(NotificationPublisher.NOTIFICATION_ID, notificationId);
notificationIntent.putExtra(NotificationPublisher.NOTIFICATION, notification);
PendingIntent pendingIntent = PendingIntent
.getBroadcast(this, requestID, notificationIntent, PendingIntent.FLAG_ONE_SHOT);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, delay, pendingIntent);
}
这是我的NotificationPublisher类:
公共类通知Publisher扩展BroadcastRecector{
public static final String NOTIFICATION = "myNotification";
public static final String NOTIFICATION_ID = "myNotification-id";
@Override
public void onReceive(Context context, Intent intent) {
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = intent.getParcelableExtra(NOTIFICATION);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
NotificationChannel channel = new NotificationChannel(ClientHomepage.NOTIFICATION_CHANNEL_ID, "Channel", NotificationManager.IMPORTANCE_HIGH);
channel.setDescription("This is just notification");
notificationManager.createNotificationChannel(channel);
}
int id = intent.getIntExtra(NOTIFICATION_ID, 0);
notificationManager.notify(id, notification);
}
我的问题是所有通知同时出现,而不是一个接一个地出现。我尝试过更改requestID,但没有帮助,我也尝试过更改PendingEvent标志,这也没有帮助。希望你有什么建议。
据我所知,您在这行代码中添加了错误的时间
通知ntities.get(i). getId(),通知,(长)定时器);
您必须添加系统,而不是
(长)计时器。currentTimeinMillis()计时器
它将解决您的问题
我现在有每天重复的通知,每天下午6点重复。我想做的是不是6pm,而是在事件即将开始时显示通知。我有一个events arraylist,它包含日期和时间,这是可能的。下面是我当前显示通知的方式。 这是我主要的activity 这是在我的broadcast_reciever课上 公共类AlarmReceiver扩展了 我不确定如何设置时间,所以它会重复什么时候和如果有一个事件。感谢您的任何指点和帮助
我试图用两个CacheManager设置一个spring-boot应用程序,代码如下: 但是当我启动应用程序时,它总是失败,出现以下错误: 由:java.lang.IllegalStateException引起:当预期只有1个CachingConfigurer实现时,发现了2个。重构配置,使CachingConfigurer只实现一次或根本不实现。在org.springframework.cach
问题内容: 我知道这个问题以前曾被问过,但我已不知所措。 我有一个警报管理器来设置通知: …然后我得到了通知本身即服务: } ....我加入了吐司,以确保我确实要使用此方法。敬酒,但通知没有。我在这里做错了什么?我需要更改清单文件中的内容吗? 问题答案: 没有图标(或标题是?)的通知将不起作用。 我确信我遇到了同样的问题,因为如果您忽略了通知的内容之一,则通知将不会显示。
问题内容: 我有一个ListView,它显示TextViews的列表。我希望每个TextView以适当的字体显示。作为字体String []数组的一部分出现在ListView中的字体名称的拼写与创建字体时的拼写相同。 和XML: 为什么我不能在ListView中获得每个TextView正确的字体? 问题答案:
问题内容: 问题答案: 在您的项目中创建一个新的Swift Source文件以放置扩展
问题内容: 我已经按照kuester2000的回答进行了操作,但是我的超时设置似乎不起作用。 但是,超时值不变。 在我链接的答案中,它还说: 连接超时抛出“ java.net.SocketTimeoutException:套接字未连接”,套接字超时抛出“ java.net.SocketTimeoutException:操作超时”。 但是我都没有。相反,我收到“ org.apache.http.co