gpt4 book ai didi

java - AlarmManager 立即触发警报

转载 作者:行者123 更新时间:2023-11-29 03:33:37 24 4
gpt4 key购买 nike

Intent myIntent = new Intent(Alarm.this, Automaton.class);
myIntent.putExtra("methodName", "myMethod");
myIntent.putExtra("hour", tp.getCurrentHour().toString());
myIntent.putExtra("minute", tp.getCurrentMinute().toString());
hour = tp.getCurrentHour();
minute = tp.getCurrentMinute();
PendingIntent pendingIntent = PendingIntent.getActivity(Alarm.this, 0, myIntent,PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.set(calendar.HOUR_OF_DAY, hour);
calendar.set(calendar.MINUTE, minute);
calendar.set(calendar.SECOND, 0);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 86400000, pendingIntent);

上面是我的代码。这是我的问题;我想在指定时间运行的另一个 Activity 中有一个方法。如果用户选择一天中尚未过去的时间(假设您将闹钟设置为上午 10 点到上午 11 点,它将正常工作)。但是,如果您在上午 10 点将闹钟设置为上午 9 点,它将立即触发 Pending Intent。不知道我要去哪里错了。任何帮助将不胜感激!

最佳答案

您可能需要检查设置时间是否小于当前时间。如果设置的时间小于当前时间,则不要为其设置闹钟。因为时间已经过去了,即使你保留它也没有用。

关于java - AlarmManager 立即触发警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16661640/

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