随时随地技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(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服务设置闹钟相关推荐

  1. Android中使用AlarmManager设置闹钟

    场景 设置闹钟 闹钟提醒 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新 ...

  2. android alarmmanager 闹钟,Android编程使用AlarmManager设置闹钟的方法

    本文实例讲述了Android编程使用AlarmManager设置闹钟的方法.分享给大家供大家参考,具体如下: package com.Aina.Android; import android.cont ...

  3. 使用AlarmManager设置闹钟

    设置闹钟: package com.example.alarmmanager;import android.app.AlarmManager; import android.app.PendingIn ...

  4. Android 使用AlarmManager设置闹钟

    1.界面 <TimePickerandroid:id="@+id/timePicker1"android:layout_width="wrap_content&qu ...

  5. Alarmmanager制作简单闹钟功能

     代码: activity_main.xml <?xml version="1.0" encoding="utf-8"?> <Relative ...

  6. php闹钟功能实现,基于Alarmmanager实现简单闹钟功能

    本文实例为大家分享了Alarmmanager实现简单闹钟功能的具体代码,供大家参考,具体内容如下 代码: activity_main.xml MainActivity.java package com ...

  7. android 接收闹钟广播,android 设置闹钟及通知示例

    简单说一下这次demo内容,首先做一个设置一次性闹钟,先得到alarmManager,打开一个时间对话框,在里面设置闹钟的时间,时间一到发送广播,然后广播接受者接到跳转到新的activity播放音乐. ...

  8. java万年历设置闹钟_中华万年历APP设置闹钟及日程的具体操作方法

    中华万年历APP怎么设置闹钟及日程?中华万年历APP是款热门的日历软件,具有传统黄历.日程记录.提供个性化阅读服务.生活提醒服务等,那么我们怎么使用中华万年历APP设置闹钟及日程呢?下面小编就和大家分 ...

  9. Android时间触发,设置闹钟管理器Android中的时间 - 立即触发闹钟

    这里我试图通过使用AlarmManger类设置闹钟.它与我工作正常,但当我设置闹钟时间后小时或分钟时间选择器,它会立即启动时,我保存该报警.闹钟.我需要警报熄灭,直到我设定时间. 下面是我的代码正在工 ...

最新文章

  1. WPF Multi-Touch 开发:高级触屏操作(Manipulation)
  2. Hadoop常用操作汇总
  3. Excel模板导出之导出教材订购表
  4. 《大数据》第1期“论坛”——数据技术时代的未来
  5. Docker一些常用命令
  6. mysql用shell建100多字段表并导入
  7. 医学图像分析相关的会议
  8. Feign 重试解析
  9. Linux O(1)调度器
  10. HDU 2674 N!Again
  11. 东北大学物流工程考研经验贴
  12. 操作系统工具推荐 msicuu.exe
  13. git分支的拉取和获取master分支最新代码
  14. 倒杨辉三角4行c语言,倒杨辉三角
  15. 中国智能POS终端行业市场供需与战略研究报告
  16. Git学习:来自fengyu的b站听课笔记
  17. gitlab 配置企业微信邮箱发送邮件
  18. python 列表写入excel_Python读写excel表格的方法一
  19. Linux初学者如何安装jdk,tomcat,mysql和svn
  20. vac服务器未响应,csgo国服游戏停止工作、未响应的解决方法

热门文章

  1. 世界时钟 软件_Mac软件丨Living Earth Mac上最好,最漂亮的世界时钟和天气应用程序...
  2. 光度立体(一)- 基于先验信息的快速表面法向量求解
  3. PS基本用法工具介绍
  4. 关于转岗,我是这么想的
  5. Layui用户中心模板
  6. Ps学习(选择和矩形选框的运用)
  7. 吴先生,凉了!聊几点实在的
  8. 滚雪球学 Python 之怎么玩转时间和日期库
  9. 从事Linux运维的自我介绍,运维面试自我介绍
  10. MacOS下iTerm2 OhMyZsh Vim 安装、主题、配色