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

Android基于AlarmManager實現(xiàn)用戶在線心跳功能示例

 更新時間:2017年10月13日 10:27:59   作者:jia635  
這篇文章主要介紹了Android基于AlarmManager實現(xiàn)用戶在線心跳功能,結(jié)合檢測用戶在線功能實例形式分析了AlarmManager全局定時器的功能、使用方法及相關(guān)注意事項,需要的朋友可以參考下

本文實例講述了Android基于AlarmManager實現(xiàn)用戶在線心跳功能。分享給大家供大家參考,具體如下:

在做即時通信或者其他檢測是否在線等操作時要用到心跳。比較常用的是AlarmManager全局定時器 去實現(xiàn)。

AlarmManager的使用機制有的稱呼為全局定時器,有的稱呼為鬧鐘。其實它的作用和Timer有點相似。都有兩種相似的用法:(1)在指定時長后執(zhí)行某項操作(2)周期性的執(zhí)行某項操作

AlarmManager對象配合Intent使用,可以定時的開啟一個Activity,發(fā)送一個BroadCast,或者開啟一個Service.

下面的代碼詳細的介紹了兩種定時方式的使用:

(1)在指定時長后執(zhí)行某項操作

//操作:發(fā)送一個廣播,廣播接收后Toast提示定時操作完成   Intent intent =new Intent(Main.this, alarmreceiver.class);
intent.setAction("short");
PendingIntent sender= PendingIntent.getBroadcast(Main.this, 0, intent, 0);
//設(shè)定一個五秒后的時間
Calendar calendar=Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 5);
AlarmManager alarm=(AlarmManager)getSystemService(ALARM_SERVICE);
alarm.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), sender);
//或者以下面方式簡化
//alarm.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+5*1000, sender);
Toast.makeText(Main.this, "五秒后alarm開啟", Toast.LENGTH_LONG).show();

注意:receiver記得在manifest.xml注冊

public static class alarmreceiver extends BroadcastReceiver{
    @Override
    public void onReceive(Context context, Intent intent) {
      // TODO Auto-generated method stub
      if(intent.getAction().equals("short")){
        Toast.makeText(context, "short alarm", Toast.LENGTH_LONG).show();
      }else{
        Toast.makeText(context, "repeating alarm",            Toast.LENGTH_LONG).show();
      }
    }
}

(2)周期性的執(zhí)行某項操作

Intent intent =new Intent(Main.this, alarmreceiver.class);
intent.setAction("repeating");
PendingIntent sender=PendingIntent
.getBroadcast(Main.this, 0, intent, 0);
//開始時間
long firstime=SystemClock.elapsedRealtime();
AlarmManager am=(AlarmManager)getSystemService(ALARM_SERVICE);  //5秒一個周期,不停的發(fā)送廣播
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstime, 5*1000, sender);

AlarmManager的setRepeating()相當于Timer的Schedule(task,delay,peroid);有點差異的地方是Timer這個方法是指定延遲多長時間以后開始周期性的執(zhí)行task;

AlarmManager的取消:(其中需要注意的是取消的Intent必須與啟動Intent保持絕對一致才能支持取消AlarmManager)

Intent intent =new Intent(Main.this, alarmreceiver.class);
intent.setAction("repeating");
PendingIntent sender=PendingIntent.getBroadcast(Main.this, 0, intent, 0);
AlarmManager alarm=(AlarmManager)getSystemService(ALARM_SERVICE);
alarm.cancel(sender);

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android視圖View技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android布局layout技巧總結(jié)》、《Android開發(fā)入門與進階教程》、《Android資源操作技巧匯總》及《Android控件用法總結(jié)

希望本文所述對大家Android程序設(shè)計有所幫助。

相關(guān)文章

  • Android中ScrollView嵌套GridView的解決辦法

    Android中ScrollView嵌套GridView的解決辦法

    前些日子在開發(fā)中用到了需要ScrollView嵌套GridView的情況,由于這兩款控件都自帶滾動條,當他們碰到一起的時候便會出問題,即GridView會顯示不全。下面小編給大家分享下解決方案,需要的朋友可以參考下
    2017-04-04
  • Android之Intent附加數(shù)據(jù)的兩種實現(xiàn)方法

    Android之Intent附加數(shù)據(jù)的兩種實現(xiàn)方法

    這篇文章主要介紹了Android之Intent附加數(shù)據(jù)的兩種實現(xiàn)方法,以實例形式較為詳細的分析了添加數(shù)據(jù)到Intent的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • 詳解Flutter中Dart集合使用教程

    詳解Flutter中Dart集合使用教程

    集合是應(yīng)用程序中最為常見的數(shù)據(jù)結(jié)構(gòu),Dart一共支持四種集合,其中核心的List,?Map和Set在基礎(chǔ)框架中。本文將詳細講解Dart集合的最佳實踐,需要的可以參考一下
    2022-05-05
  • Android Camera變焦編程步驟

    Android Camera變焦編程步驟

    這篇文章主要介紹了Android Camera變焦編程步驟,本文講解了添加Camera權(quán)限、判斷是否支持變焦、修改焦距等步驟,并分別給出了操作代碼,需要的朋友可以參考下
    2015-04-04
  • Android中實現(xiàn)TCP和UDP傳輸實例

    Android中實現(xiàn)TCP和UDP傳輸實例

    這篇文章主要介紹了Android中實現(xiàn)TCP和UDP傳輸實例,本文給出了TCP服務(wù)器端代碼、TCP客戶端代碼、UDP服務(wù)器端代碼、UDP客戶端代碼等代碼實例,需要的朋友可以參考下
    2015-03-03
  • Android實現(xiàn)屏蔽微信拉黑和刪除聯(lián)系人功能示例

    Android實現(xiàn)屏蔽微信拉黑和刪除聯(lián)系人功能示例

    本篇文章主要介紹了Android實現(xiàn)屏蔽微信拉黑和刪除聯(lián)系人功能示例,具有一定的參考價值,有興趣的可以了解一下。
    2017-02-02
  • Android開發(fā) -- 控件的顯示與隱藏 setVisibility View.VISIBLE View.INVISIBLE View.GONE

    Android開發(fā) -- 控件的顯示與隱藏 setVisibility View.VISIBLE View.INVISI

    本文簡單介紹在Android開發(fā)中控件的顯示與隱藏幾種常見的屬性,給大家一個參考,希望對大家學習有所幫助。
    2016-06-06
  • Android實現(xiàn)動態(tài)自動匹配輸入內(nèi)容功能

    Android實現(xiàn)動態(tài)自動匹配輸入內(nèi)容功能

    這篇文章主要為大家詳細介紹了Android實現(xiàn)動態(tài)自動匹配輸入內(nèi)容功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Flutter圖片加載與緩存機制的深入探究

    Flutter圖片加載與緩存機制的深入探究

    應(yīng)用開發(fā)中經(jīng)常會碰到網(wǎng)絡(luò)圖片的加載,通常我們會對圖片進行緩存,以便下次加載同一張圖片時不用再重新下載,下面這篇文章主要給大家介紹了關(guān)于Flutter圖片加載與緩存機制的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • Android多線程斷點續(xù)傳下載實現(xiàn)代碼

    Android多線程斷點續(xù)傳下載實現(xiàn)代碼

    這篇文章主要介紹了Android多線程斷點續(xù)傳下載實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11

最新評論

富顺县| 嵩明县| 丹寨县| 临西县| 云林县| 永兴县| 府谷县| 怀宁县| 雷山县| 东宁县| 昭通市| 疏附县| 永德县| 垫江县| 昭觉县| 小金县| 胶州市| 重庆市| 六枝特区| 乡宁县| 台东县| 沅陵县| 明溪县| 桐乡市| 泽州县| 新宁县| 谷城县| 容城县| 咸丰县| 盐城市| 深泽县| 来宾市| 泰安市| 临高县| 东光县| 福鼎市| 东乡族自治县| 陵水| 措美县| 湖州市| 萍乡市|