本站收集了一篇相关的编程文章,网友邱曼凝根据主题投稿了本篇教程内容,涉及到Android、AlarmManager、闹钟、Android AlarmManager设置闹钟功能相关内容,已被690网友关注,涉猎到的知识点内容可以在下方电子书获得。
Android AlarmManager设置闹钟功能
本文实例为大家分享了Android使用AlarmManager设置闹钟的具体代码,供大家参考,具体内容如下
一、首先创建设置闹钟的布局页面activity_alarm_manager.xml
二、创建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的描述,主要用来处理即将发生的事情,这个Intent会由其他程序进行调用,这里是由闹钟调用 PendingIntent pendingIntent = PendingIntent.getActivity(AlarmManagerActivity.this, 0, intent, 0); //获取AlarmManager对象 AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE); //获取日历对象 Calendar c = Calendar.getInstance(); //设置闹钟的小时数 c.set(Calendar.HOUR_OF_DAY, timePicker.getHour()); //设置闹钟的分钟数 c.set(Calendar.MINUTE, timePicker.getMinute()); //设置闹钟的秒数 c.set(Calendar.SECOND, 0); //第一个参数:闹钟类型 //ELAPSED_REALTIME:在指定的延时后提醒(不唤醒系统) //ELAPSED_REALTIME_WAKEUP:在指定的延时后提醒(唤醒系统) //RTC:到达指定时间提醒(不唤醒系统) //RTC_WAKEUP:到达指定时间提醒(唤醒系统) //第二参数:指定时间,获取日历对象对应时间的毫秒数 //第三个参数:用于指定当闹钟唤醒时,所指定的页面 alarm.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pendingIntent); Toast.makeText(AlarmManagerActivity.this, "闹钟设置成功!", Toast.LENGTH_SHORT).show(); } }); } }
效果如图所示:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。