java - 在特定时间使用警报管理器

标签 java android alarmmanager android-alarms

我需要在 IST 晚上 11:59 从正在设置的 AlarmManager 触发一段代码。

有人可以向我展示如何在 ِAndroid 中使用 AlarmManager 的示例代码吗?

我已经研究了一些代码几天了,但它不起作用。

最佳答案

这是使用AlarmManager的示例代码,您需要根据需要更改日期和时间。我把它安排在今天 23:59

// Pending intent to be fired when alarm occurrs. In this case, open the AlarmActivity
Intent intent = new Intent(getApplicationContext(), AlarmActivity.class);
PendingIntent alarmIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, 0);

// Set the alarm for today at 23:59
calendar = Calendar.getInstance(TimeZone.getTimeZone("IST"));
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);

AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP,
        calendar.getTimeInMillis(),
        alarmIntent);

在给定的日期时间, Intent 将被触发,因此您需要在 AlarmActivity 中创建逻辑。您还可以更改启动服务或触发广播消息的 Intent

关于java - 在特定时间使用警报管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61042036/

相关文章:

android - 应用程序关闭时运行警报

android - Intent 不同但 ID 相同的未决 Intent

android - 识别并取消发送到 AlarmManager 的警报

java - 将图像 src 放入 servlet

java - 如何解决我的后台服务中的 "doing too much work on its main thread service"错误?

java - 如何从 iso 获取国家/地区电话前缀

android - 如何使隐含的 Intent 明确?

java - Realm.copyFromRealm 导致从不正确的线程访问 Realm。是否可以?

java - Arrays.sort 列表<E>

java - tomcat 8.0x java.util.logging.Logger.log 到文件