国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android手機鬧鐘服務AlarmManagerk開發案例

2019-12-12 06:22:40
字體:
來源:轉載
供稿:網友

AlarmManager通常用來開發手機鬧鐘,并且它是一個全局定時器,可在指定時間或指定周期啟動其他組件(包括Activity,Service,BroadcastReceiver)

獲取AlarmManager對象:

getSystemService(Service.ALARM_SERVICE)

調用其中的方式設置定時器啟動指定組件:

set(int type,long triggerAtTime,PendingIntent operation)設置在TriggerAtTime時間啟動由operation參數指定的組件。

“第一個參數指定定時服務的類型,其值可以使:
ELAPSED_REALTIME:指定從現在開始時間過了一定時間后啟動operation對相應的組件。
ELAPSED_REALTIME_WAKEUP:指定從現實開始時間過了一定時間后啟動operation隊形的組件,即使系統關機也會執行operation所對應的組件。
RTC:指定當系統調用System.currentTimeMillls()方法返回值與triggerAtTIme相等時啟動operation所對應的組件。
RTC_WAKEUP:指定當系統調用System.currentTimeMillls()方法返回值與triggerAtTIme相等時啟動operation所對應的組件,即使系統關機也會執行operation所對應的組件。”

setInexactRepeationg(int type,long triggerAtTIme,long interval,PendingIntent operation):設置一個非精確的周期性任務。

setRepeating(int type,long triggerAtTIme,long interval,PendingIntent operation):設置一個周期性定時任務。

cancle(PendingIntent operation)取消AlarmManger定時服務

示例:

核心代碼:

public class MainActivity extends Activity { private AlarmManager alarmManager; @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  //獲取AlarmManager對象  alarmManager= (AlarmManager) getSystemService(ALARM_SERVICE); } public void btn(View view) {  final Calendar c = Calendar.getInstance();  TimePickerDialog dialog = new TimePickerDialog(this,    new OnTimeSetListener() {   //延遲意圖(即鬧鐘的意圖)   PendingIntent paIntent = PendingIntent.getActivity(MainActivity.this,      1, new Intent(MainActivity.this,SecondActivity.class),      PendingIntent.FLAG_UPDATE_CURRENT);     @Override     public void onTimeSet(TimePicker view, int hourOfDay, int minute) {      //設置你所選擇的時間      c.set(Calendar.HOUR_OF_DAY, hourOfDay);      c.set(Calendar.MINUTE, minute);      //第一個參數指定鬧鐘服務的類型      //第二個參數指定鬧鐘間隔的時間      //第三個參數指跳轉鬧鐘的延遲意圖      alarmManager.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), paIntent);     }    },     //鬧鐘的初始值(時和分)    c.get(Calendar.HOUR_OF_DAY),    c.get(Calendar.MINUTE),     true);  dialog.show(); }}

布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.alarmmanager.MainActivity" > <Button  android:onClick="btn"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:text="@string/btntext" /></RelativeLayout>

以上就是本文的全部內容,希望對大家學習android軟件編程有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 北安市| 屯留县| 华宁县| 宜兰县| 繁昌县| 镇远县| 福海县| 焦作市| 大连市| 长宁区| 洛扎县| 米易县| 安宁市| 泾阳县| 繁昌县| 金华市| 龙泉市| 四平市| 乌鲁木齐县| 页游| 都匀市| 洪洞县| 吉林市| 崇仁县| 平舆县| 垣曲县| 洛扎县| 治多县| 长丰县| 双江| 庆城县| 乌兰浩特市| 尖扎县| 德惠市| 房产| 聂拉木县| 黄山市| 天门市| 施秉县| 平谷区| 阳谷县|