gpt4 book ai didi

android - 为警报管理器设置时间时出现问题

转载 作者:行者123 更新时间:2023-11-29 15:44:27 25 4
gpt4 key购买 nike

嘿伙计们,当我为我的警报管理器设置通知时间时,我遇到了一个奇怪的问题,它没有给我通知,这就是问题所在:

        notification = new NotificationCompat.Builder(this);
notification.setAutoCancel(true);

counter = (TextView) findViewById(R.id.textView);

AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);

Intent notificationIntent = new Intent("android.media.action.DISPLAY_NOTIFICATION");
notificationIntent.addCategory("android.intent.category.DEFAULT");

PendingIntent broadcast = PendingIntent.getBroadcast(this, 5000, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);

Calendar cal = Calendar.getInstance();



cal.add(Calendar.HOUR_OF_DAY, 22);
cal.add(Calendar.MINUTE, 43);
cal.add(Calendar.SECOND, 0);
cal.add(Calendar.MILLISECOND, 0);


// cal.add(Calendar.SECOND, 20);

alarmManager.setExact(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), broadcast);

但是当我只使用 cal.add(Calendar.SECOND, 20) 设置我的闹钟时,它会给我通知(工作正常)所以任何人都可以告诉我为什么它在我的时候不工作使用小时、分钟以及为什么仅当我仅使用 Seconds 时它才有效??/任何帮助将不胜感激,谢谢 :)

最佳答案

正如@Indra 在他的回答中指出的那样,您错误地使用了 cal.getTimeInMillis() 作为警报触发时间 间隔。该值不是有效间隔。据推测,您希望警报每隔一小时、每天或其他合理的时间间隔触发。我猜是因为您请求的时间间隔是一个巨大的值,并且您请求的警报不准确,您永远不会看到它触发一次,因为 documentation 中解释了这种行为。 :“您的警报的第一次触发不会在请求的时间之前,但它可能不会在该时间之后的几乎整个间隔内发生”。在这种情况下,“完整间隔”大约是 46 年。

关于android - 为警报管理器设置时间时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35068012/

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