惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
小众软件
小众软件
人人都是产品经理
人人都是产品经理
美团技术团队
Blog — PlanetScale
Blog — PlanetScale
S
SegmentFault 最新的问题
博客园 - 【当耐特】
V
V2EX
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 叶小钗
Google DeepMind News
Google DeepMind News
量子位
罗磊的独立博客
月光博客
月光博客
N
Netflix TechBlog - Medium
大猫的无限游戏
大猫的无限游戏
博客园_首页
P
Proofpoint News Feed
Jina AI
Jina AI
云风的 BLOG
云风的 BLOG
博客园 - 司徒正美
腾讯CDC

博客园 - MSTK

PCB检测算法YOLO-EMAC(2) PCB检测算法YOLO-EMAC(1) Android Studio提高Build速度 Android创建LiteOrmManager类(4) DecoView的使用 Android创建LiteOrmManager类(3) Android创建LiteOrmManager类(2) Android创建LiteOrmManager类(1) Android使用Snackbar Unable to add window -- token null is not valid; is your activity running? Android Studio集成通义灵码 MonoDETR(2) MonoDETR(1) The color "XXX" in values has no declaration in the base values folder; this can lead to crashes when the resource is queried in a configuration that does not match this qualifier LiteORM的使用(2) LiteORM的使用(1) 使用AlarmManager实现APP保活(1) CEC2017的30个函数 使用双进程实现Android APP保活 Process finished with exit code 137 (interrupted by signal 9: SIGKILL) GIT RE-BASIN: MERGING MODELS MODULO PERMUTATION SYMMETRIES (1) MMpretrain使用Tiny ImageNet数据集 Ubuntu使用dd命令实现硬盘级复制 PyCharm debug collecting data...
使用AlarmManager实现APP保活(2)
MSTK · 2025-04-02 · via 博客园 - MSTK

Alarm_Receiver的代码如下:

public class Alarm_Receiver extends BroadcastReceiver {
    private boolean is_local_service_running;
    private boolean is_remote_service_running;
    private Context context;

    @Override
    public void onReceive(Context context, Intent intent) {
        this.context = context;
        try {
            do_something();
        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        }
        // 设置下一次唤醒
        schedule_alarm(context);
    }

    private void do_something() throws ClassNotFoundException {
    ...
    }
}

Alarm_Receiver继承自BroadcastReceiver,在onReceive()方法中,调用要执行的任务,然后用schedule_alarm()方法设置下一次唤醒.

在Application类的onCreate()方法里面,调用Alarm_Receiver类的schedule_alarm()方法,开始第一次调用:

Alarm_Scheduler.schedule_alarm(this);

这样,就可以循环调用下去.