Android自定義鬧鐘功能
Android鬧鐘alarmManager+PendingIntent的使用方法,供大家參考,具體內(nèi)容如下
這次給大家分享兩種鬧鐘:
第一種是當(dāng)?shù)竭_(dá)鬧鐘時(shí)間后執(zhí)行一次相應(yīng)的操作
alarmManager.set(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),pendingIntent);
第二種是當(dāng)?shù)竭_(dá)鬧鐘時(shí)間后每隔一段時(shí)間執(zhí)行操作
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),5000, pendingIntent);
下面看效果圖:
設(shè)置兩種鬧鐘
選擇鬧鐘時(shí)間
鬧鐘一到打開一個(gè)界面
下面看代碼:
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); //實(shí)例化鬧鐘個(gè)管理器 alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); } //設(shè)置鬧鐘(只響一次) public void startAlarmOne(View view){ //獲取當(dāng)前系統(tǒng)的時(shí)間 Calendar calendar=Calendar.getInstance(); int hour=calendar.get(Calendar.HOUR_OF_DAY); int minute=calendar.get(Calendar.MINUTE); //彈出時(shí)間對(duì)話框(選擇時(shí)間) TimePickerDialog timePickerDialog=new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker timePicker, int i, int i1) { //獲取當(dāng)前系統(tǒng)的時(shí)間 Calendar c=Calendar.getInstance(); c.set(Calendar.HOUR_OF_DAY,i); c.set(Calendar.MINUTE,i1); //打開一個(gè)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è)置鬧鐘(在多長時(shí)間后鬧鐘響然后繼續(xù)計(jì)時(shí)) public void startAlarmTwo(View view){ //獲取當(dāng)前系統(tǒng)的時(shí)間 Calendar calendar=Calendar.getInstance(); int h=calendar.get(Calendar.HOUR_OF_DAY); int m=calendar.get(Calendar.MINUTE); //彈出時(shí)間對(duì)話框(選擇時(shí)間) TimePickerDialog timePickerDialog=new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker timePicker, int i, int i1) { //獲取選擇的鬧鐘時(shí)間 Calendar c=Calendar.getInstance(); c.set(Calendar.HOUR_OF_DAY,i); c.set(Calendar.MINUTE,i1); //打開一個(gè)Activity Intent intent=new Intent(); intent.setAction("com.example.myandroid_27.ALARM"); pendingIntent = PendingIntent.getBroadcast(Alarm2Activity.this,0x102,intent,0); //鬧鐘什么時(shí)候繼續(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)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android鬧鐘啟動(dòng)時(shí)間設(shè)置無效問題的解決方法
- Android編程使用AlarmManager設(shè)置鬧鐘的方法
- Android編程實(shí)現(xiàn)鬧鐘的方法詳解
- Android實(shí)現(xiàn)鬧鐘功能小Dome
- Android 使用AlarmManager和NotificationManager來實(shí)現(xiàn)鬧鐘和通知欄
- android 設(shè)置鬧鐘及通知示例
- Android自定義View 實(shí)現(xiàn)鬧鐘喚起播放鬧鐘鈴聲功能
- Android編程鬧鐘設(shè)置方法詳解
- Android鬧鐘設(shè)置的解決方案
- Android設(shè)置鬧鐘相對(duì)完善的解決方案
相關(guān)文章
Android Animation實(shí)戰(zhàn)之屏幕底部彈出PopupWindow
這篇文章主要為大家介紹了Android Animation動(dòng)畫實(shí)戰(zhàn)項(xiàng)目,屏幕底部彈出PopupWindow,如何實(shí)現(xiàn)?文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-01-01Android筆記之:在ScrollView中嵌套ListView的方法
本篇文章是對(duì)Android中在ScrollView中嵌套ListView的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05Convert WebP to PNG using java
本文主要介紹Convert WebP to PNG using java,這里對(duì) WebP 做了詳細(xì)說明,并講解Linux 環(huán)境下WebP 轉(zhuǎn)png格式的示例,有興趣的小伙伴可以參考下2016-08-08Android?SeekBar充當(dāng)Progress實(shí)現(xiàn)兔兔進(jìn)度條Plus
這篇文章主要為大家介紹了Android?SeekBar充當(dāng)Progress實(shí)現(xiàn)兔兔進(jìn)度條Plus示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02android使用ExpandableListView控件實(shí)現(xiàn)小說目錄效果的例子
這篇文章主要介紹了android使用ExpandableListView控件實(shí)現(xiàn)小說目錄效果的例子,還可以實(shí)現(xiàn)二級(jí)列表展示效果,需要的朋友可以參考下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組件實(shí)現(xiàn)側(cè)滑抽屜的功能
DrawerLayout組件同樣是V4包中的組件,也是直接繼承于ViewGroup類,所以說是一個(gè)容器類,下面通過本文給大家介紹使用DrawerLayout組件實(shí)現(xiàn)側(cè)滑抽屜的功能,感興趣的朋友一起看下吧2016-08-08Android Studio設(shè)置或修改Android SDK路徑方法
在本篇文章中小編給大家整理了關(guān)于Android Studio設(shè)置或修改Android SDK路徑方法和相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。2019-04-04