AlarmManager定时器的使用,类似于timer效果

来源:互联网 发布:lambda函数 python 编辑:程序博客网 时间:2024/05/02 00:13

我们在使用定时器的时候首先会想到timer,还有handler sendmessagedelay 时间这两种方法,如需长时间的触发事件则需要使用alrm来完成:


 设置alarm 时间, 睡眠sleep_time的时间

AlarmManager alarmMgr = (AlarmManager) mainActivity.getSystemService(Context.ALARM_SERVICE);Intent alarm_intent = new Intent(mainActivity.getApplicationContext(), MediaButtonIntentReceiver.class);alarm_intent.setAction(ALARM_SLEEP_ACTION);int requestCode = 0;PendingIntent mPendingIntent = PendingIntent.getBroadcast(mainActivity.getApplicationContext(), requestCode, alarm_intent, PendingIntent.FLAG_UPDATE_CURRENT);int triggerAtTime = (int)(SystemClock.elapsedRealtime() + sleep_time*60*1000);alarmMgr.set(AlarmManager.ELAPSED_REALTIME, triggerAtTime, mPendingIntent);


在BroadcastReceiver里面调用onreceive方法:

    @Override    public void onReceive(Context context, Intent intent) {     if(ALARM_SLEEP_ACTION.equals(intentAction)){              //do things          }     }



 

 

3 0
原创粉丝点击