女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

定時器刷新詳解(程序介紹)

來源:電子發(fā)燒友整理 作者:2018年01月26日 16:09
關(guān)鍵詞:程序定時器

本文為大家介紹定時器刷新的詳細程序。

1、定時刷新 只刷新一次

首先要發(fā)送一個廣播 PendingTIntent.getBroadcast()就類似于一個sendBroadcast

里面有四個參數(shù) 第一個就是context 第二個參數(shù)是個發(fā)送端的私人參數(shù),起區(qū)分作用 第三個intent 第四個 flags參數(shù)可以指定PendingIntent的一些行為特點,是用來針對Intent.fillIn() ,這里面沒有用到0即可。

定時器刷新詳解(程序介紹)

PendingTIntent 核心就是異步激發(fā) 有興趣的可以看

PnedingTIngtent詳解

am.set()方法用來激發(fā),第一個參數(shù)是鬧鐘的類型 就不贅述了 第二個就是開始時間()

這個參數(shù)的類型要根據(jù)前一個鬧鐘的類型來的 , RTC_WAKEUP RTC POWER_OFF_WAKEUP使用的絕對時間,其他的類型就是相對時間 ,相對時間就是相對于開機時運行的時間,絕對時間就是當前的時間。

public staTIc void sendUpdateBroadcast(Context context,long time){

AlarmManager am = context.getSystemService(Context.ALARM_SERVICE);

Intent i = new Intent(conext, UpdateReceiver.class);

i.putExtra(“time”, time);//time參數(shù)是刷新間隔

PendingIntent pendingIntent = PendingIntent.getBroadcast(contexxt, 0, i, 0);

//我這個是系統(tǒng)現(xiàn)在時間加上time時間進行刷新

am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + time, pendingIntent);

}

然后需要自定義一個接受器刷新的動作在這里面執(zhí)行

public static class UpdateReceiver extends BroadcastReceiver {

public void onReceive(Context context, Intent intent) {

long times=intent.getLongExtra(“time”,0);

Toast.makeText(context, “開始刷新”+intent.getLongExtra(“time”,0), Toast.LENGTH_SHORT).show();

}

}

2、定時刷新 根據(jù)間隔時間一直刷新

類似于鬧鐘

am.setRepeating ()第二個參數(shù)就是第一次刷新時間 (如果時間已經(jīng)過了,會馬上響應一次),第三個就是間隔時間 。注意此廣播非覆蓋的 如若要改變刷新時間一定要先取消此廣播

public static void sendBroadcastRepeat(Context ctx,int hour,int minuter){

Intent intent =new Intent(ctx, RepeatReceiver.class);

intent.putExtra(“hour”,hour);

intent.putExtra(“minuter”,minuter);

PendingIntent pendingIntent = PendingIntent.getBroadcast(ctx,0, intent, 0);

Calendar calendar = Calendar.getInstance();

calendar.set(Calendar.HOUR_OF_DAY, hour);

calendar.set(Calendar.MINUTE, minuter);

calendar.set(Calendar.SECOND, 00);

calendar.set(Calendar.MILLISECOND, 0);

AlarmManager am = getAlaramManager(ctx);

am.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(), 1000 * 60 * 60 * 24, pendingIntent);

}

同樣也要寫一個接收器

public static class RepeatReceiver extends BroadcastReceiver {

public void onReceive(Context context, Intent intent) {

Toast.makeText(context, “定時刷新”, Toast.LENGTH_SHORT).show();

}

}

關(guān)注電子發(fā)燒友微信

有趣有料的資訊及技術(shù)干貨

下載發(fā)燒友APP

打造屬于您的人脈電子圈

關(guān)注發(fā)燒友課堂

鎖定最新課程活動及技術(shù)直播
聲明:電子發(fā)燒友網(wǎng)轉(zhuǎn)載作品均盡可能注明出處,該作品所有人的一切權(quán)利均不因本站而轉(zhuǎn)移。
作者如不同意轉(zhuǎn)載,既請通知本站予以刪除或改正。轉(zhuǎn)載的作品可能在標題或內(nèi)容上或許有所改動。
收藏 人收藏
分享:

相關(guān)閱讀

發(fā)表評論

elecfans網(wǎng)友

分享到:

用戶評論(0