最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android實現(xiàn)定時任務(wù)功能

 更新時間:2022年01月18日 17:26:36   作者:最萌小熊貓  
這篇文章主要為大家詳細介紹了Android實現(xiàn)定時任務(wù)功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Android實現(xiàn)定時任務(wù)功能的具體代碼,供大家參考,具體內(nèi)容如下

1、采用Handle與線程的sleep(long)方法

(1)、定義一個Handler類,用于處理接受到的Message。

Handler handler = new Handler() { ?
? ? public void handleMessage(Message msg) { ?
? ? ? ? // 要做的事情 ?
? ? ? ? super.handleMessage(msg); ?
? ? } ?
}; 

(2)、新建一個實現(xiàn)Runnable接口的線程類,如下:

public class MyThread implements Runnable { ?
? ? @Override ?
? ? public void run() { ?
? ? ? ? // TODO Auto-generated method stub ?
? ? ? ? while (true) { ?
? ? ? ? ? ? try { ?
? ? ? ? ? ? ? ? Thread.sleep(10000);// 線程暫停10秒,單位毫秒 ?
? ? ? ? ? ? ? ? Message message = new Message(); ?
? ? ? ? ? ? ? ? message.what = 1; ?
? ? ? ? ? ? ? ? handler.sendMessage(message);// 發(fā)送消息 ?
? ? ? ? ? ? } catch (InterruptedException e) { ?
? ? ? ? ? ? ? ? // TODO Auto-generated catch block ?
? ? ? ? ? ? ? ? e.printStackTrace(); ?
? ? ? ? ? ? } ?
? ? ? ? } ?
? ? } ?
}

(3)、在需要啟動線程的地方加入下面語句:

new Thread(new MyThread()).start(); ?

2、采用Handler的postDelayed(Runnable, long)方法

(1)、定義一個Handler類

Handler handler=new Handler(); ?
?
Runnable runnable=new Runnable() { ?
? ? @Override ?
? ? public void run() { ?
? ? ? ? // TODO Auto-generated method stub ?
? ? ? ? //要做的事情 ?
? ? ? ? handler.postDelayed(this, 2000); ?
? ? } ?
}; 

(2)、啟動

handler.postDelayed(runnable, 2000);

3、用Handler與timer及TimerTask結(jié)合的方法

(1)、定義定時器、定時器任務(wù)及Handler句柄

private final Timer timer = new Timer(); ?
private TimerTask task; ?
Handler handler = new Handler() { ?
? ? @Override ?
? ? public void handleMessage(Message msg) { ?
? ? ? ? // TODO Auto-generated method stub ?
? ? ? ? // 要做的事情 ?
? ? ? ? super.handleMessage(msg); ?
? ? } ?
}; 

(2)、初始化計時器任務(wù)

task = new TimerTask() { ?
? ? @Override ?
? ? public void run() { ?
? ? ? ? // TODO Auto-generated method stub ?
? ? ? ? Message message = new Message(); ?
? ? ? ? message.what = 1; ?
? ? ? ? handler.sendMessage(message); ?
? ? } ?
}; 

(3)、啟動和關(guān)閉定時器

timer.schedule(task, 2000, 3000); ??
timer.cancel(); 

4、采用AlarmManger實現(xiàn)長期精確的定時任務(wù)

(1)、服務(wù)類:

public class HorizonService extends Service {
? ? @Override
? ? public IBinder onBind(Intent intent) {
? ? ? ? return null;
? ? }
? ? @Override
? ? public int onStartCommand(Intent intent, int flags, int startId) {
? ? ? ? new Thread(new Runnable() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void run() {
? ? ? ? ? ? ? ? Log.d("TAG", "打印時間: " + new Date().
? ? ? ? ? ? ? ? ? ? ? ? toString());
? ? ? ? ? ? }
? ? ? ? }).start();
? ? ? ? AlarmManager manager = (AlarmManager) getSystemService(ALARM_SERVICE);
? ? ? ? int five = 5000; // 這是5s
? ? ? ? long triggerAtTime = SystemClock.elapsedRealtime() + five;
? ? ? ? Intent i = new Intent(this, AlarmReceiver.class);
? ? ? ? PendingIntent pi = PendingIntent.getBroadcast(this, 0, i, 0);
? ? ? ? manager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerAtTime, pi);
? ? ? ? return super.onStartCommand(intent, flags, startId);
? ? }
}

(2)、廣播接受器

public class AlarmReceiver extends BroadcastReceiver {
? ? @Override
? ? public void onReceive(Context context, Intent intent) {
? ? ? ? Intent i = new Intent(context, HorizonService.class);
? ? ? ? context.startService(i);
? ? }
}

(3)、啟動定時任務(wù):

Intent intent = new Intent(this,HorizonService.class);
startService(intent);

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android實現(xiàn)簡易記事本

    Android實現(xiàn)簡易記事本

    這篇文章主要為大家詳細介紹了Android實現(xiàn)簡易記事本,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Android學(xué)習(xí)筆記之應(yīng)用單元測試實例分析

    Android學(xué)習(xí)筆記之應(yīng)用單元測試實例分析

    這篇文章主要介紹了Android學(xué)習(xí)筆記之應(yīng)用單元測試,結(jié)合實例形式較為詳細的分析了Android單元測試的實現(xiàn)原理與具體步驟,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • Android實現(xiàn)圖像灰度化、線性灰度變化和二值化處理方法

    Android實現(xiàn)圖像灰度化、線性灰度變化和二值化處理方法

    這篇文章主要介紹了Android實現(xiàn)圖像灰度化、線性灰度變化和二值化處理方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • Monkeyrunner 常用按鍵總結(jié)

    Monkeyrunner 常用按鍵總結(jié)

    這篇文章主要介紹了Monkeyrunner 常用按鍵總結(jié)的相關(guān)資料,這里對Monkeyrunner 按鍵的功能進行詳細說明,需要的朋友可以參考下
    2016-11-11
  • Flutter實現(xiàn)可以縮放拖拽的圖片示例代碼

    Flutter實現(xiàn)可以縮放拖拽的圖片示例代碼

    這篇文章主要給大家介紹了關(guān)于利用Flutter實現(xiàn)可以縮放拖拽的圖片的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Flutter具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Android編程獲取地理位置的經(jīng)度和緯度實例

    Android編程獲取地理位置的經(jīng)度和緯度實例

    這篇文章主要介紹了Android編程獲取地理位置的經(jīng)度和緯度實現(xiàn)方法,結(jié)合實例形式詳細分析了Android操作系統(tǒng)服務(wù)調(diào)用GPS實現(xiàn)定位的相關(guān)技巧,需要的朋友可以參考下
    2016-01-01
  • Android檢測手機多點觸摸點數(shù)的方法

    Android檢測手機多點觸摸點數(shù)的方法

    這篇文章主要為大家詳細介紹了Android檢測手機多點觸摸點數(shù)的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Android照片墻應(yīng)用實現(xiàn) 再多的圖片也不怕崩潰

    Android照片墻應(yīng)用實現(xiàn) 再多的圖片也不怕崩潰

    這篇文章主要為大家詳細介紹了Android照片墻應(yīng)用實現(xiàn),再多的圖片也不怕崩潰,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 詳解Android系統(tǒng)中跨應(yīng)用數(shù)據(jù)分享功能的實現(xiàn)

    詳解Android系統(tǒng)中跨應(yīng)用數(shù)據(jù)分享功能的實現(xiàn)

    這篇文章主要介紹了Android系統(tǒng)中跨應(yīng)用數(shù)據(jù)分享功能的實現(xiàn),文中分為發(fā)送文字、二進制內(nèi)容和圖片三種情況來講,需要的朋友可以參考下
    2016-04-04
  • android通用xml解析方法

    android通用xml解析方法

    之前做的網(wǎng)絡(luò)相關(guān)的應(yīng)用,里面涉及到了xml的解析,由于急于完成任務(wù)也沒有設(shè)計就直接敲代碼。這幾天給一個朋友做項目的時候也涉及到了xml的解析,而且解析的內(nèi)容比較多,我查看了以前的項目中的相關(guān)代碼,頓時覺得很多代碼都是可以優(yōu)化的。在此寫兩個通用的xml解析方法,當(dāng)然這里所講的通用只是在一定程度上并且需要遵守一些規(guī)范。
    2013-03-03

最新評論

上高县| 临武县| 江城| 丰都县| 卢湾区| 垦利县| 雷山县| 东至县| 大冶市| 仙桃市| 湾仔区| 北辰区| 苗栗市| 化隆| 台北市| 府谷县| 曲靖市| 龙山县| 邵阳市| 海城市| 永和县| 连南| 克什克腾旗| 临沂市| 治县。| 忻州市| 浪卡子县| 繁峙县| 荆州市| 长治市| 南木林县| 吉安县| 革吉县| 天长市| 海安县| 探索| 汝阳县| 治多县| 响水县| 仁怀市| 大城县|