<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      安卓筆記俠

      專注安卓開發

      導航

      Service

      1.Service 前臺服務與Notification

      我們在用很多應用的時候,發現他們啟動的時候,會在通知欄生成一個和該App的通知,來繼續執行Service,比如墨跡天氣,很多音樂App.這種叫前臺服務,其實這種Service有一個很好的一點,就是不會因為Service自身的優先級低,而被系統KILL,而前臺服務就不會。
      前臺服務的寫法很容易,只需要在onCreate()中,建立一個通知,然后用startForeground()設置為前臺服務即可。
      下面直接放出代碼,結合代碼注釋看看就好了,關于通知更多的內容可以看看
      這里只列出Service的onCreate()部分代碼

      @Override
          public void onCreate() {
              super.onCreate();
              //設定一個PendingIntent,來表示點擊通知欄時跳轉到哪里
              PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, MainActivity.class), 0);
              Notification.Builder builder = new Notification.Builder(this);
              //建立一個notificationManager來管理通知的出現
              notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
              //構造通知的樣式,包括圖片,標題,內容,時間。
              builder.setSmallIcon(R.mipmap.ic_launcher).
                      setWhen(System.currentTimeMillis()).
                      setContentTitle("我是標題").
                      setContentText("我是內容").
                      setTicker("在啟動時彈出一個消息").//這個Android5.0以上可能會失效
                      setWhen(System.currentTimeMillis()).
                      setContentIntent(contentIntent);
                      //最后通過build建立好通知
              Notification notification = builder.build();
              //通過manager來顯示通知,這個1為notification的id
              notificationManager.notify(1,notification);
              //啟動為前臺服務,這個1為notification的id
              startForeground(1,notification);
          }
      

      2.后臺定時服務

      后臺定時服務其實并不是特殊的Service,只是Service的常見的一種應用,放到后臺做定時更新,輪詢等。這次的Service要配合Alarm以及簡單的廣播機制來實現。
      步驟主要如下:

      第一步 獲得Service

      AlarmManager manager = (AlarmManager) getSystemService(ALARM_SERVICE);
      

      第二步 通過set方法設置定時任務

      int time = 1000;
              long triggerAtTime = SystemClock.elapsedRealtime() + time;
              Intent i = new Intent(this,AlarmReceiver.class);
              PendingIntent pi = PendingIntent.getBroadcast(this, 0, i, 0);
              manager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerAtTime, pi);
      

      第三步 定義一個Service,在onStartCommand中開辟一個事務線程,用于處理一些定時邏輯

      @Override
          public int onStartCommand(Intent intent, int flags, int startId) {
              new Thread(new Runnable() {
                  @Override
                  public void run() {
                     //執行想做的操作,比如輸出時間
                  }
              }).start();
                //步驟二里面的代碼
              return super.onStartCommand(intent, flags, startId);
          }
      

      第四步 定義一個Broadcast,用于啟動Service

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

        

        

        

      posted on 2016-10-20 22:08  安卓筆記俠  閱讀(439)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 亚洲 自拍 另类 欧美 综合| 东京热加勒比无码少妇| 小伙无套内射老熟女精品| 国产熟睡乱子伦午夜视频| 亚洲成A人片在线观看的电影| 亚洲av永久无码精品天堂久久| 亚洲一区二区偷拍精品| 国产精品人成视频免费播放| 亚洲第一无码专区天堂| 日本夜爽爽一区二区三区| 伊大人香蕉久久网欧美| 日韩人妻熟女中文字幕a美景之屋 国产99久久久国产精品~~牛 | 日本丰满少妇高潮呻吟| 国产成人8x视频网站入口| 怡红院一区二区三区在线| 亚洲av综合av一区| 护士张开腿被奷日出白浆| 国产在线拍揄自揄视频网试看| 国产成人精品无码免费看夜聊软件| 中文字幕人妻在线精品| 国自产在线精品一本无码中文| 国产激情一区二区三区在线| 麻花传剧mv在线看免费| 亚洲中文字幕人妻系列| 我国产码在线观看av哈哈哈网站| 亚洲欧洲一区二区三区久久| 精品国产乱来一区二区三区 | 亚洲国产成人精品无码区蜜柚 | 国内不卡一区二区三区| 国产欧美一区二区精品性色| 成人国产av精品免费网| 国产高清在线不卡一区| 无码一级视频在线| mm1313亚洲国产精品| 小伙无套内射老熟女精品| 亚洲国产精品毛片在线看| 国产麻豆精品久久一二三| 国产女人被狂躁到高潮小说| 四虎网址| 亚洲av激情五月性综合| 久久夜色精品国产亚洲a|