您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關Android中使用alarmManager+PendingIntent實現自定義鬧鐘,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
第一種是當到達鬧鐘時間后執行一次相應的操作
alarmManager.set(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),pendingIntent);
第二種是當到達鬧鐘時間后每隔一段時間執行操作
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),5000, pendingIntent);
下面看代碼:
public class Alarm2Activity extends AppCompatActivity { private AlarmManager alarmManager; private PendingIntent pendingIntent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_alarm2); //實例化鬧鐘個管理器 alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); } //設置鬧鐘(只響一次) public void startAlarmOne(View view){ //獲取當前系統的時間 Calendar calendar=Calendar.getInstance(); int hour=calendar.get(Calendar.HOUR_OF_DAY); int minute=calendar.get(Calendar.MINUTE); //彈出時間對話框(選擇時間) TimePickerDialog timePickerDialog=new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker timePicker, int i, int i1) { //獲取當前系統的時間 Calendar c=Calendar.getInstance(); c.set(Calendar.HOUR_OF_DAY,i); c.set(Calendar.MINUTE,i1); //打開一個Activity Intent intent=new Intent(); intent.setAction("com.example.myandroid_27.ALARM"); PendingIntent pendingIntent= PendingIntent.getBroadcast(Alarm2Activity.this,0x101,intent,0); //設置鬧鐘 alarmManager.set(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),pendingIntent); } },hour,minute,true); timePickerDialog.show(); } //設置鬧鐘(在多長時間后鬧鐘響然后繼續計時) public void startAlarmTwo(View view){ //獲取當前系統的時間 Calendar calendar=Calendar.getInstance(); int h=calendar.get(Calendar.HOUR_OF_DAY); int m=calendar.get(Calendar.MINUTE); //彈出時間對話框(選擇時間) TimePickerDialog timePickerDialog=new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker timePicker, int i, int i1) { //獲取選擇的鬧鐘時間 Calendar c=Calendar.getInstance(); c.set(Calendar.HOUR_OF_DAY,i); c.set(Calendar.MINUTE,i1); //打開一個Activity Intent intent=new Intent(); intent.setAction("com.example.myandroid_27.ALARM"); pendingIntent = PendingIntent.getBroadcast(Alarm2Activity.this,0x102,intent,0); //鬧鐘什么時候繼續執行 alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),5000, pendingIntent); } },h,m,true); timePickerDialog.show(); } //關閉周期鬧鐘 public void startAlarmThree(View view){ alarmManager.cancel(pendingIntent); } }
看完上述內容,你們對Android中使用alarmManager+PendingIntent實現自定義鬧鐘有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。