gpt4 book ai didi

java - android 通知不会按时出现

转载 作者:行者123 更新时间:2023-11-29 22:01:30 27 4
gpt4 key购买 nike

大家好,我正在开发 Android 应用程序,我正在尝试为特定时间创建通知,例如(2012 年 8 月 3 日至 2012 年 8 月 3 日下午 5:00),所以我使用日历设置时间,然后使用日历...下午 5:00,这是我的通知代码:

String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);

int icon = R.drawable.ieee;
CharSequence tickerText = "Hello";

// long when = System.currentTimeMillis();

//setting custom time
Calendar calendar = Calendar.getInstance();
calendar.set(calendar.DAY_OF_MONTH,03);
calendar.set(Calendar.HOUR_OF_DAY,17);
calendar.set(Calendar.MINUTE,26);
calendar.set(Calendar.SECOND, 00);
long when = calendar.getTimeInMillis(); // notification time

Notification notification=new Notification (icon, tickerText, when);

Context context = getApplicationContext();
CharSequence contentTitle = "My notification";
CharSequence contentText = "Hello World!";
Intent notificationIntent = new Intent(this, MainActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.flags |= Notification.FLAG_ONLY_ALERT_ONCE;
notification.flags |= Notification.FLAG_SHOW_LIGHTS;
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
mNotificationManager.notify(1, notification);

现在一切都在运行,但是有一个小问题,例如,如果现在的日期和时间是 2012 年 9 月 9 日,上午 9:00,我将闹钟设置为明天上午 10 点,好的,它会起作用,但是当我后天打开应用程序时,应用程序要做的第一件事就是通知旧闹钟,我通过设置旧闹钟日期来尝试这个,当我打开应用程序时,它做的第一件事就是显示旧闹钟,那么关于解决这个问题的任何想法?

最佳答案

因为当你没有告诉它时它不会等待。您不能设置 Calendar 时间,然后期望通知服务等待。

您需要使用 TimerTaskAlarmManager 来在您想要的时间生成事件。然后在您的任一实现中创建通知。

关于java - android 通知不会按时出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11799481/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com