android - 在 Android 中使用 AlarmManager 启动日常服务?

标签 android

我需要在每晚午夜运行一项服务。我想使用 AlarmManager 来执行此操作。

你能给我一些如何让它正常工作的指导吗?

alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
alarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME, System.currentTimeMillis(), AlarmManager.INTERNAL_DAY, serviceIntent);

也许我需要使用日历对象来指定时间?感谢您的帮助!

最佳答案

setInexactRepeating(),顾名思义,是不精确的。请记住,它可能会在午夜之前或之后运行。

要确定午夜时间,use a Calendar object .然后调用 getDate() 获取 Date 并调用 Date 上的 getTime() 获取正确的毫秒值用于您的 setInexactRepeating() 调用。

关于android - 在 Android 中使用 AlarmManager 启动日常服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2939944/

相关文章:

Android 浏览器 - 无法将输入文本从白色更改为黑色

android - RelativeLayout 可滚动

android - 从MatOfKeyPoint到MatOfPoint2f的OpenCV4Android转换

java - Android 小部件和持久数据

android - 在 Android Studio 中更改系统镜像的默认路径

android - Android 12 中的异常

Android:在空白 Activity 区域启用点击事件

android - 使用 Application 对象存储数据和全局变量

android - 如何在 Android Espresso 中调用其他测试类?

java - 使默认的android模拟器更快