亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android:如何使用AlarmManager

Android:如何使用AlarmManager

小怪獸愛吃肉 2019-12-22 10:12:14
Android:如何使用AlarmManager我需要AlarmManager在設置20分鐘后觸發一段代碼。有人可以給我看一下如何AlarmManager在Android中使用的示例代碼嗎?我已經玩了幾天的代碼,它只是不起作用。
查看完整描述

3 回答

?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

“一些示例代碼”并非如此簡單AlarmManager。

這是一個顯示以下設置的片段AlarmManager

AlarmManager mgr=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);Intent i=new Intent(context, OnAlarmReceiver.class);PendingIntent pi=PendingIntent.getBroadcast(context, 0, i, 0);mgr.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), PERIOD, pi);

在這個例子中,我正在使用setRepeating()。如果你想要一次性警報,你就可以使用set()。請務必在與初始參數中使用的時間基準相同的時間內為警報提供時間set()。在我上面的例子中,我正在使用AlarmManager.ELAPSED_REALTIME_WAKEUP,所以我的時間基準是SystemClock.elapsedRealtime()。

這是一個展示這種技術的大型示例項目



查看完整回答
反對 回復 2019-12-23
?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

您需要做的是首先創建您需要安排的意圖。然后獲取該intent的pendingIntent。您可以安排活動,服務和廣播。安排活動,例如MyActivity:

  Intent i = new Intent(getApplicationContext(), MyActivity.class);
  PendingIntent pi = PendingIntent.getActivity(getApplicationContext(),3333,i,
  PendingIntent.FLAG_CANCEL_CURRENT);

將此pendingIntent提供給alarmManager:

  //getting current time and add 5 seconds in it
  Calendar cal = Calendar.getInstance();
  cal.add(Calendar.SECOND, 5);
  //registering our pending intent with alarmmanager
  AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
  am.set(AlarmManager.RTC_WAKEUP,cal.getTimeInMillis(), pi);

現在MyActivity將在應用程序啟動5秒后啟動,無論您停止應用程序還是設備進入睡眠狀態(由于RTC_WAKEUP選項)。您可以閱讀完整的示例代碼調度活動,服務和廣播#Android



查看完整回答
反對 回復 2019-12-23
  • 3 回答
  • 0 關注
  • 589 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號