美文网首页
使用AlarmManager延迟运行服务

使用AlarmManager延迟运行服务

作者: 爱做梦的严重精神病患者 | 来源:发表于2019-03-06 23:05 被阅读0次

  在没有activity运行的情况下,为在后台运行服务,需要想一个办法启动它。可以使用AlarmManager,AlarmManager是可以发送Intent的系统服务。
  那么如何告诉AlarmManager想要发送的intent呢?可以使用PendingIntent。使用PendingIntent打包一个intent,然后将其发送给AlarmManager

  启动定时器的方法应该是一个静态方法。这样,定时器代码和与之相关的代码就可以放在一起,同时其他系统部件还能调用它。

public static void setServiceAlarm(Context context, boolean isOn) {
       Intent i = PollService.newIntent(context);
       PendingIntent pi = PendingIntent.getService(context, 0, i, 0);
       AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);

       if (isOn) {
             alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME,
                     SystemClock.elapsedRealtime(), TimeUnit.MINUTES.toMillis(1), pi);
        } else {
            alarmManager.cancel(pi);  
            pi.cancel();
        }
}

相关文章

  • 使用AlarmManager延迟运行服务

      在没有activity运行的情况下,为在后台运行服务,需要想一个办法启动它。可以使用AlarmManager,...

  • 后台保活问题

    使用AlarmManager定时发送广播。然后监听检查,一个长期的服务。

  • 后台实现定时任务

    关于使用 AlarmManager 的注意事项AlarmManager 和 JobschedulerAndroid...

  • 如何获取系统服务?

    1.AlarmManager系统服务 AlarmManager是一个典型的系统服务,意为“警告”,会定时执行动作。...

  • AlarmManager 设置和取消定时器 实例

    使用 AlarmManager 设置定时器的方法如下: 使用 AlarmManager 取消定时器的方法如下: 下...

  • 新特性与行为变更 -- 代码1

    AlarmManager AlarmManager 可重复使用的位图 inBitmap变量是在Android 3....

  • AlarmManager-闹钟服务

    AlarmManager-闹钟服务 AlarmManager简介 在特定的时刻为我们广播一个指定的Intent,简...

  • Android-定时器

    一、AlarmManager介绍 AlarmManager提供了对系统定时服务的访问接口,使得开发者可以安排在未来...

  • 系统服务之定时服务(AlarmManager)

    概述 AlarmManager提供了对系统定时服务的访问接口,使得开发者可以安排在未来的某个时间运行应用。当到达闹...

  • AlarmManager

    概述 AlarmManager 提供对系统闹钟服务(或称为定时器服务)的访问接口,使用它既可以指定单次执行的定时任...

网友评论

      本文标题:使用AlarmManager延迟运行服务

      本文链接:https://www.haomeiwen.com/subject/fqjxpqtx.html