本实例通过TimePickerDialog时间选择对话框让用户设置闹钟,并通过AlarmManager全局定时器在指定的时间启动闹钟Activity 。

程序运行效果图:

实例代码:

package com.jph.alarm.test;import java.util.Calendar;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.Service;
import android.app.TimePickerDialog;
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;
/*** Describe:</br>* </br>简单闹钟提醒* </br>本实例通过TimePickerDialog时间选择对话框* </br>让用户设置闹钟并通过AlarmManager全局定时器* </br>在指定的时间启动闹钟Activity * </br>@author jph* </br>Date:2014.07.29* */
public class AlarmTest extends Activity
{Button setTime;AlarmManager aManager;Calendar currentTime = Calendar.getInstance();@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);// 获取程序界面的按钮setTime = (Button) findViewById(R.id.setTime);// 获取AlarmManager对象aManager = (AlarmManager) getSystemService(Service.ALARM_SERVICE);// 为“设置闹铃”按钮绑定监听器。setTime.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View source){Calendar currentTime = Calendar.getInstance();// 创建一个TimePickerDialog实例,并把它显示出来。new TimePickerDialog(AlarmTest.this, 0, // 绑定监听器new TimePickerDialog.OnTimeSetListener(){@Overridepublic void onTimeSet(TimePicker tp,int hourOfDay, int minute){// 指定启动AlarmActivity组件Intent intent = new Intent();intent.setAction("com.jph.alarm.test.ACTION");// 创建PendingIntent对象PendingIntent pi = PendingIntent.getActivity(AlarmTest.this, 0, intent, 0);Calendar c = Calendar.getInstance();// 根据用户选择时间来设置Calendar对象c.set(Calendar.HOUR_OF_DAY, hourOfDay);c.set(Calendar.MINUTE, minute);// 设置AlarmManager将在Calendar对应的时间启动指定组件aManager.set(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(), pi);                            // 显示闹铃设置成功的提示信息Toast.makeText(AlarmTest.this, "闹铃设置成功啦", Toast.LENGTH_SHORT).show();}}, currentTime.get(Calendar.HOUR_OF_DAY), currentTime.get(Calendar.MINUTE), false).show();}});}
}
package com.jph.alarm.test;import java.util.Calendar;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.Service;
import android.app.TimePickerDialog;
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;
/*** Describe:</br>* </br>简单闹钟提醒* </br>本实例通过TimePickerDialog时间选择对话框* </br>让用户设置闹钟并通过AlarmManager全局定时器* </br>在指定的时间启动闹钟Activity * </br>@author jph* </br>Date:2014.07.29* */
public class AlarmTest extends Activity
{Button setTime;AlarmManager aManager;Calendar currentTime = Calendar.getInstance();@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);// 获取程序界面的按钮setTime = (Button) findViewById(R.id.setTime);// 获取AlarmManager对象aManager = (AlarmManager) getSystemService(Service.ALARM_SERVICE);// 为“设置闹铃”按钮绑定监听器。setTime.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View source){Calendar currentTime = Calendar.getInstance();// 创建一个TimePickerDialog实例,并把它显示出来。new TimePickerDialog(AlarmTest.this, 0, // 绑定监听器new TimePickerDialog.OnTimeSetListener(){@Overridepublic void onTimeSet(TimePicker tp,int hourOfDay, int minute){// 指定启动AlarmActivity组件Intent intent = new Intent();intent.setAction("com.jph.alarm.test.ACTION");// 创建PendingIntent对象PendingIntent pi = PendingIntent.getActivity(AlarmTest.this, 0, intent, 0);Calendar c = Calendar.getInstance();// 根据用户选择时间来设置Calendar对象c.set(Calendar.HOUR_OF_DAY, hourOfDay);c.set(Calendar.MINUTE, minute);// 设置AlarmManager将在Calendar对应的时间启动指定组件aManager.set(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(), pi);                            // 显示闹铃设置成功的提示信息Toast.makeText(AlarmTest.this, "闹铃设置成功啦", Toast.LENGTH_SHORT).show();}}, currentTime.get(Calendar.HOUR_OF_DAY), currentTime.get(Calendar.MINUTE), false).show();}});}
}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.jph.alarm.test"android:versionCode="1"android:versionName="1.0"><uses-sdkandroid:minSdkVersion="7"android:targetSdkVersion="18" /><application android:icon="@drawable/ic_launcher" android:label="@string/app_name"><activity android:name=".AlarmTest"       android:label="@string/app_name"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activity android:name=".AlarmActivity"><intent-filter><action android:name="com.jph.alarm.test.ACTION"/><category android:name="android.intent.category.DEFAULT"></category></intent-filter></activity></application></manifest> 

Android开发实例之闹钟提醒相关推荐

  1. android 闹钟提醒实现方法,Android开发实例之闹钟提醒

    本实例通过TimePickerDialog时间选择对话框让用户设置闹钟.并通过AlarmManager全局定时器在指定的时间启动闹钟Activity . 程序执行效果图: 实例代码: package ...

  2. Android开发实例大全

    <Android开发实例大全> 基本信息 作者: 王东华 丛书名: Android移动开发技术丛书 出版社:电子工业出版社 ISBN:9787121173172 上架时间:2012-8-1 ...

  3. Android开发实例-Android平台手机新闻客户端

    Android开发实例<Android平台手机新闻客户端>是基于Android4.0及以上平台的一款新闻类手机应用,应用运行效果如下所示: Android开发实例课程主要介绍运行于Andr ...

  4. java 安卓项目案例_Java - 随笔分类 - android开发实例 - 博客园

    随笔分类 - Java 摘要:1.使用标准输入串对象System.inSystem.in.read()一次只读入一个字节数据,而我们通常要取得一个字符串或一组数字,这就很不适合,需要其他方法取得这样的 ...

  5. Android开发实例-自动生成题库的数独

    本系列文章主要介绍如何利用Android开发一个自动生成题目的数独游戏.涉及的知识和技术如下所示: 挖洞算法自动生成数独题目实现自定义View用于绘制数独盘数据库的基本操作 看着市场上千篇一律的数独应 ...

  6. 【Android 开发实例】时间管理APP开发

    该软件用来记录时间开销.按照柳比歇夫的时间管理方法设计而成. 初期采用非常原始的方法做了个基本的原型. 计划着做着给自己玩玩,但是现在觉得完全可以做好它,算是一个锻炼. 该APP的功能有: 1.记录时 ...

  7. Android开发实例之多点触控程序

    智能终端设备的多点触控操作为我们带来了种种炫酷体验,这也使得很多Android开发者都对多点触控程序的开发感兴趣.实际上多点触控程序的实现并不是那么遥不可及,而是比较容易.本文就主要通过一个实例具体讲 ...

  8. android开发实例之viewpager无限循环+自动滚动,Android ViewPager实现无限循环的实例...

    Android ViewPager实现无限循环的实例 ViewPager自身并不支持左右无限循环的功能,这里就提供一种方案让Android ViewPager实现左右无限循环的功能,这里记录下: 用于 ...

  9. android开发实例之minitwitter登录界面 代码,Android实例miniTwitter登录界面

    先上效果图: 布局分析:分成三个部分,该Activity是一个无标题的,设置无标题需要在setContentView之前设置,否则会报错: requestWindowFeature(Window.FE ...

最新文章

  1. 走火入魔 | 暑期电子设计课程学生们的作品
  2. Windows Server 2016-图形化备份域控制器
  3. CSS中的EM属性-弹性布局
  4. git add -u与-A .三者的区别
  5. Could not load driverClass “com.mysql.jdbc.Driver“
  6. 腾讯面试:一条SQL语句执行得很慢的原因有哪些?
  7. cuSPARSE库:(十)cusparseCreateMatDescr()
  8. HDU2504 又见GCD【欧几里得算法】
  9. Innodb 与自增长auto_increment
  10. 局域网电脑访问IIS
  11. Java笔记(韩顺平Java基础5-6章)
  12. Matlab中S-函数的编写
  13. java 项目启动后页面乱码_java生成的Html打开后展示乱码
  14. 简单的整人代码(你是猪,文章末附带文件)
  15. 电阻分压计算,电阻选型
  16. 吉林大学计算机数据中心排名,高校考研学霸人数排行:吉林大学5000排名第13
  17. mac多屏幕切换快捷键
  18. Win10,Win11家庭版开启远程桌面接入功能-有详细操作截屏
  19. 高等数学:第三章 微分中值定理与导数的应用(3)泰勒公式
  20. Android 多渠道打包与开发

热门文章

  1. Laravel:依赖注入
  2. 鹅头上长头瘤怎么回事 鹅头上长大包用什么药
  3. 记忆是一个整合的过程
  4. mysql update cascade,何时使用“ON UPDATE CASCADE”
  5. 2022/07/13、14 day06/07:网络编程
  6. spice新手学习手册
  7. python 爬取图片环绕_用python几行代码爬取秀美图上图片(福利)
  8. mvc与分层/反射/事务
  9. 网站开发进阶(五十七)纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等)
  10. Apache mina,Netty的起源和历史