欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android使用AlarmManager設置鬧鐘功能

 更新時間:2022年09月19日 14:38:10   作者:路宇  
這篇文章主要為大家詳細介紹了Android使用AlarmManager設置鬧鐘功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Android使用AlarmManager設置鬧鐘的具體代碼,供大家參考,具體內(nèi)容如下

一、首先創(chuàng)建設置鬧鐘的布局頁面activity_alarm_manager.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
? ? xmlns:app="http://schemas.android.com/apk/res-auto"
? ? xmlns:tools="http://schemas.android.com/tools"
? ? android:layout_width="match_parent"
? ? android:layout_height="match_parent"
? ? tools:context=".AlarmManagerActivity">

? ? <TimePicker
? ? ? ? android:id="@+id/timePicker"
? ? ? ? android:layout_width="wrap_content"
? ? ? ? android:layout_height="wrap_content" />

? ? <Button
? ? ? ? android:id="@+id/btn_alarm"
? ? ? ? android:layout_width="wrap_content"
? ? ? ? android:layout_height="wrap_content"
? ? ? ? android:layout_below="@id/timePicker"
? ? ? ? android:layout_centerHorizontal="true"
? ? ? ? android:text="設置鬧鐘" />
</RelativeLayout>

二、創(chuàng)建AlarmActivity用于設置其到達指定時間后,彈出的一個對話,這個要在清單文件中注冊

public class AlarmActivity extends AppCompatActivity {
? ? @Override
? ? protected void onCreate(@Nullable Bundle savedInstanceState) {
? ? ? ? super.onCreate(savedInstanceState);
? ? ? ? AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
? ? ? ? alertDialog.setTitle("傳遞正能量")
? ? ? ? ? ? ? ? .setIcon(R.drawable.ic_baseline_report)
? ? ? ? ? ? ? ? .setMessage("要么出眾,要么出局")
? ? ? ? ? ? ? ? .setNegativeButton("確定", new DialogInterface.OnClickListener() {
? ? ? ? ? ? ? ? ? ? @Override
? ? ? ? ? ? ? ? ? ? public void onClick(DialogInterface dialog, int which) {
? ? ? ? ? ? ? ? ? ? ? ? //確定
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }).show();
? ? }
}

三、在activity_alarm_manager.xml對應的Activity中設置鬧鐘

public class AlarmManagerActivity extends AppCompatActivity {
? ? private TimePicker timePicker;
? ? private Button btn_alarm;

? ? @Override
? ? protected void onCreate(Bundle savedInstanceState) {
? ? ? ? super.onCreate(savedInstanceState);
? ? ? ? setContentView(R.layout.activity_alarm_manager);
? ? ? ? timePicker = findViewById(R.id.timePicker);
? ? ? ? btn_alarm = findViewById(R.id.btn_alarm);

? ? ? ? btn_alarm.setOnClickListener(new View.OnClickListener() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void onClick(View v) {
? ? ? ? ? ? ? ? //設置鬧鐘
? ? ? ? ? ? ? ? Intent intent = new Intent(AlarmManagerActivity.this, AlarmActivity.class);
? ? ? ? ? ? ? ? //獲取顯示鬧鐘的PendingIntent
? ? ? ? ? ? ? ? //PendingIntent是對Intent的描述,主要用來處理即將發(fā)生的事情,這個Intent會由其他程序進行調(diào)用,這里是由鬧鐘調(diào)用
? ? ? ? ? ? ? ? PendingIntent pendingIntent = PendingIntent.getActivity(AlarmManagerActivity.this, 0, intent, 0);
? ? ? ? ? ? ? ? //獲取AlarmManager對象
? ? ? ? ? ? ? ? AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
? ? ? ? ? ? ? ? //獲取日歷對象
? ? ? ? ? ? ? ? Calendar c = Calendar.getInstance();
? ? ? ? ? ? ? ? //設置鬧鐘的小時數(shù)
? ? ? ? ? ? ? ? c.set(Calendar.HOUR_OF_DAY, timePicker.getHour());
? ? ? ? ? ? ? ? //設置鬧鐘的分鐘數(shù)
? ? ? ? ? ? ? ? c.set(Calendar.MINUTE, timePicker.getMinute());
? ? ? ? ? ? ? ? //設置鬧鐘的秒數(shù)
? ? ? ? ? ? ? ? c.set(Calendar.SECOND, 0);
? ? ? ? ? ? ? ? //第一個參數(shù):鬧鐘類型
? ? ? ? ? ? ? ? //ELAPSED_REALTIME:在指定的延時后提醒(不喚醒系統(tǒng))
? ? ? ? ? ? ? ? //ELAPSED_REALTIME_WAKEUP:在指定的延時后提醒(喚醒系統(tǒng))
? ? ? ? ? ? ? ? //RTC:到達指定時間提醒(不喚醒系統(tǒng))
? ? ? ? ? ? ? ? //RTC_WAKEUP:到達指定時間提醒(喚醒系統(tǒng))
? ? ? ? ? ? ? ? //第二參數(shù):指定時間,獲取日歷對象對應時間的毫秒數(shù)
? ? ? ? ? ? ? ? //第三個參數(shù):用于指定當鬧鐘喚醒時,所指定的頁面
? ? ? ? ? ? ? ? alarm.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pendingIntent);
? ? ? ? ? ? ? ? Toast.makeText(AlarmManagerActivity.this, "鬧鐘設置成功!", Toast.LENGTH_SHORT).show();
? ? ? ? ? ? }
? ? ? ? });

? ? }
}

效果如圖所示:

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論