使用AlarmManager服务设置闹钟
随时随地技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)
AlarmManage通常的用途就是用来开发手机闹钟,但它的作用不止于此。它的本质是一个全局的定时器,可在指定时间或指定周期启动其他组件。我们可以调用AlarmManage的如下方法来设置定时启动指定组件:
下面这个简单示例作用是:程序提供一个按钮让用户设置时间,当设置好闹铃后,即使退出该程序,到了预设时间,一样会启动指定组件,播放闹钟音乐。代码如下:
设置闹钟时间的Activity:
package com.guyun.testalarm;import java.util.Calendar;import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.TimePickerDialog;
import android.app.TimePickerDialog.OnTimeSetListener;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TimePicker;
import android.widget.Toast;public class AlarmTestActivity extends Activity implements OnClickListener {private Button setAlarmBtn;// 声明闹钟管理器AlarmManager对象private AlarmManager alarmManager;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);// 获取AlarmManager服务对象alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);setAlarmBtn = (Button) findViewById(R.id.main_btn_set);setAlarmBtn.setOnClickListener(this);}@Overridepublic void onClick(View v) {// 当前设备上的系统时间Calendar cal = Calendar.getInstance();// 弹出设置时间的窗口new TimePickerDialog(this, new OnTimeSetListener() {@Overridepublic void onTimeSet(TimePicker view, int hourOfDay, int minute) {// 启动指定组件Intent intent = new Intent(AlarmTestActivity.this,AlarmActivity.class);// 创建PendingIntent对象,封装IntentPendingIntent pi = PendingIntent.getActivity(AlarmTestActivity.this, 0, intent, 0);Calendar setCal = Calendar.getInstance();// 根据用户选择的时间设置定时器时间setCal.set(Calendar.HOUR_OF_DAY, hourOfDay);setCal.set(Calendar.MINUTE, minute);// 设置AlarmManager将在Calendar对应的时间启动指定组件alarmManager.set(AlarmManager.RTC_WAKEUP,setCal.getTimeInMillis(), pi);// 显示闹铃设置成功的提示信息Toast.makeText(AlarmTestActivity.this, "闹铃设置成功啦",Toast.LENGTH_SHORT).show();}}, cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE), true).show();}
}
播放闹钟音乐的Activity:
package com.guyun.testalarm;import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.media.MediaPlayer;
import android.os.Bundle;public class AlarmActivity extends Activity {// 声明MediaPlayer对象private MediaPlayer alarmMusic;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 加载指定音乐,并为之创建MediaPlayer对象alarmMusic = MediaPlayer.create(this, R.raw.girl);// 设置为循环播放alarmMusic.setLooping(true);// 播放音乐alarmMusic.start();// 创建一个对话框new AlertDialog.Builder(AlarmActivity.this).setTitle("闹钟").setMessage("闹钟响了,起床啦,懒虫!").setPositiveButton("确定", new OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// 停止音乐播放alarmMusic.stop();// 结束该ActivityAlarmActivity.this.finish();}}).show();}
}
使用AlarmManager服务设置闹钟相关推荐
- Android中使用AlarmManager设置闹钟
场景 设置闹钟 闹钟提醒 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新 ...
- android alarmmanager 闹钟,Android编程使用AlarmManager设置闹钟的方法
本文实例讲述了Android编程使用AlarmManager设置闹钟的方法.分享给大家供大家参考,具体如下: package com.Aina.Android; import android.cont ...
- 使用AlarmManager设置闹钟
设置闹钟: package com.example.alarmmanager;import android.app.AlarmManager; import android.app.PendingIn ...
- Android 使用AlarmManager设置闹钟
1.界面 <TimePickerandroid:id="@+id/timePicker1"android:layout_width="wrap_content&qu ...
- Alarmmanager制作简单闹钟功能
代码: activity_main.xml <?xml version="1.0" encoding="utf-8"?> <Relative ...
- php闹钟功能实现,基于Alarmmanager实现简单闹钟功能
本文实例为大家分享了Alarmmanager实现简单闹钟功能的具体代码,供大家参考,具体内容如下 代码: activity_main.xml MainActivity.java package com ...
- android 接收闹钟广播,android 设置闹钟及通知示例
简单说一下这次demo内容,首先做一个设置一次性闹钟,先得到alarmManager,打开一个时间对话框,在里面设置闹钟的时间,时间一到发送广播,然后广播接受者接到跳转到新的activity播放音乐. ...
- java万年历设置闹钟_中华万年历APP设置闹钟及日程的具体操作方法
中华万年历APP怎么设置闹钟及日程?中华万年历APP是款热门的日历软件,具有传统黄历.日程记录.提供个性化阅读服务.生活提醒服务等,那么我们怎么使用中华万年历APP设置闹钟及日程呢?下面小编就和大家分 ...
- Android时间触发,设置闹钟管理器Android中的时间 - 立即触发闹钟
这里我试图通过使用AlarmManger类设置闹钟.它与我工作正常,但当我设置闹钟时间后小时或分钟时间选择器,它会立即启动时,我保存该报警.闹钟.我需要警报熄灭,直到我设定时间. 下面是我的代码正在工 ...
最新文章
- WPF Multi-Touch 开发:高级触屏操作(Manipulation)
- Hadoop常用操作汇总
- Excel模板导出之导出教材订购表
- 《大数据》第1期“论坛”——数据技术时代的未来
- Docker一些常用命令
- mysql用shell建100多字段表并导入
- 医学图像分析相关的会议
- Feign 重试解析
- Linux O(1)调度器
- HDU 2674 N!Again
- 东北大学物流工程考研经验贴
- 操作系统工具推荐 msicuu.exe
- git分支的拉取和获取master分支最新代码
- 倒杨辉三角4行c语言,倒杨辉三角
- 中国智能POS终端行业市场供需与战略研究报告
- Git学习:来自fengyu的b站听课笔记
- gitlab 配置企业微信邮箱发送邮件
- python 列表写入excel_Python读写excel表格的方法一
- Linux初学者如何安装jdk,tomcat,mysql和svn
- vac服务器未响应,csgo国服游戏停止工作、未响应的解决方法