gpt4 book ai didi

java - 警报管理器完成后如何运行函数?

转载 作者:行者123 更新时间:2023-12-02 06:28:23 25 4
gpt4 key购买 nike

我想在警报管理器运行时运行函数foo(),但我不明白该怎么做。我看到你向警报管理器传递了一个 Intent,还有其他方法可以做到这一点吗?

 public void SetAlarm()
{
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 19);
cal.set(Calendar.MINUTE, 03);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);

AlarmManager alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
alarmMgr.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);
}

如您所见,我不确定如何正确使用alarmMgr.set函数。另外,我是否需要将其作为服务运行,这样如果应用程序退出,它仍然可以工作?

谢谢!

最佳答案

I saw you pass an Intent to the alarm manager

您将 PendingIntent 传递给 AlarmManager

are there other ways to do that?

使用 AlarmManager 的唯一方法是使用 PendingIntentAlarmManager 的目的是在您的应用不再运行的 future 某个时间点为您的应用提供控制权。

Also, do I need to run it as a service, so if the application will be exited, then it'll still work ?

没有。 AlarmManager 的具体目标是允许您的进程终止,但在将来的某个时间再次让您进行控制,这样您就不会一直占用内存。

关于java - 警报管理器完成后如何运行函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20303083/

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