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 8.0系統(tǒng)中應(yīng)用圖標(biāo)的適配技巧
今天小編就為大家分享一篇關(guān)于Android 8.0系統(tǒng)中應(yīng)用圖標(biāo)的適配技巧,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10
Android基準(zhǔn)配置文件Baseline?Profile方案提升啟動(dòng)速度
這篇文章主要為大家介紹了Android基準(zhǔn)配置文件Baseline?Profile方案提升啟動(dòng)速度示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
Android webveiw 出現(xiàn)棧錯(cuò)誤解決辦法
這篇文章主要介紹了Android webveiw 出現(xiàn)棧錯(cuò)誤解決辦法的相關(guān)資料,出現(xiàn)java.lang.UnsupportedOperationException: For security reasons, WebView is not allowed in privileged processes,這里提供解決辦法,需要的朋友可以參考下2017-08-08
Android 選擇相冊(cè)照片并返回功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了Android 從相冊(cè)中選擇照片并返回功能,需要的朋友可以參考下2018-03-03
Android通過HTTP協(xié)議實(shí)現(xiàn)上傳文件數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了Android通過HTTP協(xié)議實(shí)現(xiàn)上傳文件數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09
Flutter使用AnimatedBuilder實(shí)現(xiàn)動(dòng)效復(fù)用
Animation和AnimationWidget都是將組件和動(dòng)畫一起完成的。有些時(shí)候,我們只是想動(dòng)效復(fù)用,而不關(guān)心組件構(gòu)建,這個(gè)時(shí)候就可以使用 AnimatedBuilder了。本文詳細(xì)講解了AnimatedBuilder的使用,需要的可以參考一下2022-04-04
Android開發(fā)OkHttp執(zhí)行流程源碼分析
這篇文章主要為大家介紹了Android開發(fā)OkHttp執(zhí)行流程源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09

