亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

定時任務如何在Android應用中實現

發布時間:2020-12-07 16:52:20 來源:億速云 閱讀:187 作者:Leah 欄目:移動開發

本篇文章給大家分享的是有關定時任務如何在Android應用中實現,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

首先要在AndroidManifest.xml中進行注冊

<receiver android:name=".AlarmReceiver">
      <intent-filter>
        <action android:name="CLOCK" />
      </intent-filter>
</receiver>

自定義一個鬧鐘接收器,getIntExtra可用于接受發送方putExtra傳過來的值,Intent i = new Intent(“CLOCK”)其中的“CLOCK”是注冊時使用的seceiver的name。

public class AlarmReceiver extends BroadcastReceiver {
  private int _id;
  private String str;
  @Override
  public void onReceive(Context context, Intent intent) {
    _id = intent.getIntExtra("ID", -1);
    Intent i = new Intent("CLOCK");
    i.setClass(context, NoteEditor.class);
    i.putExtra("ID", _id);
    String str = intent.getStringExtra("NOTE");
    Toast.makeText( context, str, Toast.LENGTH_SHORT).show();
    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(i);
  }
}

時間的獲取通過DatePickerDialog和TimePickerDialog,需要注意的是DatePickerDialog的月份是從0開始。將獲取的數據放在Calendar類中,其中月份的存儲也是從0開始。

final AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
Calendar alarmCalendar = Calendar.getInstance();
alarmCalendar.set(mYear, mMonth-1, mDay, mHour, mMinute,0);
Intent i = new Intent("CLOCK");
i.setClass(this, AlarmReceiver.class);
i.putExtra("ID", _id);
String note="notes";
i.putExtra("NOTE",note);

設置一個PendingIntent對象作為鬧鐘響應的對象,發送廣播。第二個參數可以為0,但是因為做的是一次性的鬧鐘,如果為0的話,新設的鬧鐘會將之前設的鬧鐘覆蓋掉。FLAG_UPDATE_CURRENT: 如果希望獲取的PendingIntent對象與已經存在的PendingIntent對象相比,如果只是Intent附加的數據不同, 那么當前存在的PendingIntent對象不會被取消,而是重新加載新的Intent附加的數據。

PendingIntent pi = PendingIntent.getBroadcast(this, _id,i,PendingIntent.FLAG_UPDATE_CURRENT);

發送鬧鐘請求,設置在alarmCalendar.getTimeInMillis()時間啟動由pi指定的組件。
第一個參數用來指定定時服務的類型,主要可選以下值:

AlarmManager.ELAPSED_REALTIME:睡眠狀態下不可用,該狀態下鬧鐘使用相對時間。
AlarmManager.ELAPSED_REALTIME_WAKEUP:在睡眠狀態下會喚醒系統并執行提示功能,也使用相對時間。
AlarmManager.RTC:該狀態睡眠狀態下不可用,使用絕對時間,即當前系統時間。
AlarmManager.RTC_WAKEUP:鬧鐘在睡眠狀態下會喚醒系統并執行提示功能,該狀態下鬧鐘也使用絕對時間。

am.set(AlarmManager.RTC_WAKEUP, alarmCalendar.getTimeInMillis(), pi);

以上就是定時任務如何在Android應用中實現,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

青阳县| 乌兰浩特市| 彭阳县| 深州市| 阿图什市| 赣州市| 黔江区| 元氏县| 大丰市| 潍坊市| 旌德县| 漳浦县| 瑞金市| 克山县| 东丰县| 石狮市| 达拉特旗| 勐海县| 碌曲县| 青神县| 衡山县| 石狮市| 侯马市| 青海省| 思茅市| 静海县| 龙里县| 右玉县| 青川县| 嘉义市| 乾安县| 和田市| 大洼县| 湖南省| 贵定县| 天等县| 元谋县| 宜川县| 抚顺市| 历史| 河南省|