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-01
Android筆記之:在ScrollView中嵌套ListView的方法
本篇文章是對(duì)Android中在ScrollView中嵌套ListView的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
Convert WebP to PNG using java
本文主要介紹Convert WebP to PNG using java,這里對(duì) WebP 做了詳細(xì)說明,并講解Linux 環(huán)境下WebP 轉(zhuǎn)png格式的示例,有興趣的小伙伴可以參考下2016-08-08
Android?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-02
android使用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-08
Android Studio設(shè)置或修改Android SDK路徑方法
在本篇文章中小編給大家整理了關(guān)于Android Studio設(shè)置或修改Android SDK路徑方法和相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。2019-04-04

