Android自定義鬧鐘功能
Android鬧鐘alarmManager+PendingIntent的使用方法,供大家參考,具體內(nèi)容如下
這次給大家分享兩種鬧鐘:
第一種是當?shù)竭_鬧鐘時間后執(zhí)行一次相應(yīng)的操作
alarmManager.set(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),pendingIntent);
第二種是當?shù)竭_鬧鐘時間后每隔一段時間執(zhí)行操作
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),5000, pendingIntent);
下面看效果圖:
設(shè)置兩種鬧鐘
選擇鬧鐘時間
鬧鐘一到打開一個界面
下面看代碼:
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); } //設(shè)置鬧鐘(只響一次) public void startAlarmOne(View view){ //獲取當前系統(tǒng)的時間 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) { //獲取當前系統(tǒng)的時間 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); //設(shè)置鬧鐘 alarmManager.set(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),pendingIntent); } },hour,minute,true); timePickerDialog.show(); } //設(shè)置鬧鐘(在多長時間后鬧鐘響然后繼續(xù)計時) public void startAlarmTwo(View view){ //獲取當前系統(tǒng)的時間 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); //鬧鐘什么時候繼續(xù)執(zhí)行 alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),5000, pendingIntent); } },h,m,true); timePickerDialog.show(); } //關(guān)閉周期鬧鐘 public void startAlarmThree(View view){ alarmManager.cancel(pendingIntent); } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android Animation實戰(zhàn)之屏幕底部彈出PopupWindow
這篇文章主要為大家介紹了Android Animation動畫實戰(zhàn)項目,屏幕底部彈出PopupWindow,如何實現(xiàn)?文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-01-01Android筆記之:在ScrollView中嵌套ListView的方法
本篇文章是對Android中在ScrollView中嵌套ListView的方法進行了詳細的分析介紹,需要的朋友參考下2013-05-05Convert WebP to PNG using java
本文主要介紹Convert WebP to PNG using java,這里對 WebP 做了詳細說明,并講解Linux 環(huán)境下WebP 轉(zhuǎn)png格式的示例,有興趣的小伙伴可以參考下2016-08-08Android?SeekBar充當Progress實現(xiàn)兔兔進度條Plus
這篇文章主要為大家介紹了Android?SeekBar充當Progress實現(xiàn)兔兔進度條Plus示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02android使用ExpandableListView控件實現(xiàn)小說目錄效果的例子
這篇文章主要介紹了android使用ExpandableListView控件實現(xiàn)小說目錄效果的例子,還可以實現(xiàn)二級列表展示效果,需要的朋友可以參考下2014-07-07淺談Android系統(tǒng)的基本體系結(jié)構(gòu)與內(nèi)存管理優(yōu)化
這篇文章主要介紹了Android系統(tǒng)的基本體系結(jié)構(gòu)與內(nèi)存管理優(yōu)化,非常簡潔明了地總結(jié)了系統(tǒng)服務(wù)及垃圾回收等安卓的一些主要特性,需要的朋友可以參考下2016-02-02使用DrawerLayout組件實現(xiàn)側(cè)滑抽屜的功能
DrawerLayout組件同樣是V4包中的組件,也是直接繼承于ViewGroup類,所以說是一個容器類,下面通過本文給大家介紹使用DrawerLayout組件實現(xiàn)側(cè)滑抽屜的功能,感興趣的朋友一起看下吧2016-08-08Android Studio設(shè)置或修改Android SDK路徑方法
在本篇文章中小編給大家整理了關(guān)于Android Studio設(shè)置或修改Android SDK路徑方法和相關(guān)知識點,需要的朋友們學(xué)習下。2019-04-04