Android开发Android文章Android技术知识

Android小知识-电量优化AlarmManager的使用

2018-10-13  本文已影响3人  爱读书的顾先生

AlarmManager是Android SDK提供的一个唤醒API,它是系统级别的服务,可以在特点的时刻广播一个指定的Intent,这个PendingIntent可以用来启动Activity、Service或BroadcastReceiver。

使用方式如下:

    private void initAlarmManager(){
        Intent intent=new Intent("com.glh.alarmmanager");
        PendingIntent pendingIntent=PendingIntent.getBroadcast(this,0,intent,PendingIntent.FLAG_UPDATE_CURRENT);
        AlarmManager alarmManager= (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        alarmManager.cancel(pendingIntent);
        alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis(),60*10*1000,pendingIntent);
    }

上面代码中每隔10分钟会唤醒一次,同时对指定的Intent发送广播。

AlarmManager提供了常用的三种方法:

  1. set:设置一次性的闹钟操作。

  2. setRepeating:设置重复性的闹钟操作。

  3. setInexactRepeating:也是设置重复性的闹钟操作,只不过两个相连的闹钟执行的间隔时间不是固定的。

三个方法传入的第一个参数type为闹钟的类型,有以下几种类型:

绝对时间就是手机的时间,相对时间是相对于开机时间。

AlarmManager的唤醒功能比较耗电,通常情况下需要保证两次唤醒操作的时间间隔不要太短,在不需要使用唤醒功能的情况下尽早取消AlarmManager,否则应用会一直处于耗电状态。


扫码_搜索联合传播样式-标准色版.png

Android、Java、Python、Go、PHP、IOS、C++、HTML等等技术文章,更有各种书籍推荐和程序员资讯,快来加入我们吧!关注技术共享笔记。

838794-506ddad529df4cd4.webp.jpg

搜索微信“顾林海”公众号,定期推送优质文章。

上一篇 下一篇

猜你喜欢

热点阅读