Android手机闹钟服务AlarmManagerk开发案例

AlarmManager通常用来开发手机闹钟,并且它是一个全局定时器,可在指定时间或指定周期启动其他组件(包括Activity,Service,BroadcastReceiver)

获取AlarmManager对象:

getSystemService(Service.ALARM_SERVICE)

调用其中的方式设置定时器启动指定组件:

set(int type,long triggerAtTime,PendingIntent operation)设置在TriggerAtTime时间启动由operation参数指定的组件。

“第一个参数指定定时服务的类型,其值可以使:
ELAPSED_REALTIME:指定从现在开始时间过了一定时间后启动operation对相应的组件。
ELAPSED_REALTIME_WAKEUP:指定从现实开始时间过了一定时间后启动operation队形的组件,即使系统关机也会执行operation所对应的组件。
RTC:指定当系统调用System.currentTimeMillls()方法返回值与triggerAtTIme相等时启动operation所对应的组件。
RTC_WAKEUP:指定当系统调用System.currentTimeMillls()方法返回值与triggerAtTIme相等时启动operation所对应的组件,即使系统关机也会执行operation所对应的组件。”

setInexactRepeationg(int type,long triggerAtTIme,long interval,PendingIntent operation):设置一个非精确的周期性任务。

setRepeating(int type,long triggerAtTIme,long interval,PendingIntent operation):设置一个周期性定时任务。

cancle(PendingIntent operation)取消AlarmManger定时服务

示例:

核心代码:

public class MainActivity extends Activity { private AlarmManager alarmManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取AlarmManager对象 alarmManager= (AlarmManager) getSystemService(ALARM_SERVICE); } public void btn(View view) { final Calendar c = Calendar.getInstance(); TimePickerDialog dialog = new TimePickerDialog(this, new OnTimeSetListener() { //延迟意图(即闹钟的意图) PendingIntent paIntent = PendingIntent.getActivity(MainActivity.this, 1, new Intent(MainActivity.this,SecondActivity.class), PendingIntent.FLAG_UPDATE_CURRENT); @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { //设置你所选择的时间 c.set(Calendar.HOUR_OF_DAY, hourOfDay); c.set(Calendar.MINUTE, minute); //第一个参数指定闹钟服务的类型 //第二个参数指定闹钟间隔的时间 //第三个参数指跳转闹钟的延迟意图 alarmManager.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), paIntent); } }, //闹钟的初始值(时和分) c.get(Calendar.HOUR_OF_DAY), c.get(Calendar.MINUTE), true); dialog.show(); } }

布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.alarmmanager.MainActivity" > <Button android:onClick="btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/btntext" /> </RelativeLayout>

以上就是本文的全部内容,希望对大家学习android软件编程有所帮助。

时间: 2024-08-03 21:03:53

Android手机闹钟服务AlarmManagerk开发案例的相关文章

Android手机闹钟服务AlarmManagerk开发案例_Android

AlarmManager通常用来开发手机闹钟,并且它是一个全局定时器,可在指定时间或指定周期启动其他组件(包括Activity,Service,BroadcastReceiver) 获取AlarmManager对象: getSystemService(Service.ALARM_SERVICE) 调用其中的方式设置定时器启动指定组件: set(int type,long triggerAtTime,PendingIntent operation)设置在TriggerAtTime时间启动由oper

Android手机闹钟用法实例_Android

本文实例讲述了Android手机闹钟用法.分享给大家供大家参考.具体如下: 一.开发手机闹钟主要用到了AlarmManager类,AlarmManager类提供了访问系统定时服务的途径,开发人员可以在程序中设置某个应用程序在未来的某个时刻被执行.当AlarmManager定时时间到了之后,当初注册的Intent对象将会被系统广播,进而启动目标程序. 二.在程序运行时当需要使用AlarmManager类时,可以通过Context对象的getSystemService(Context.ALARM_S

Android手机闹钟用法实例

本文实例讲述了Android手机闹钟用法.分享给大家供大家参考.具体如下: 一.开发手机闹钟主要用到了AlarmManager类,AlarmManager类提供了访问系统定时服务的途径,开发人员可以在程序中设置某个应用程序在未来的某个时刻被执行.当AlarmManager定时时间到了之后,当初注册的Intent对象将会被系统广播,进而启动目标程序. 二.在程序运行时当需要使用AlarmManager类时,可以通过Context对象的getSystemService(Context.ALARM_S

android手机网络锁的开发

问题描述 android手机网络锁的开发 有没有大神具体做过网络锁. 具体是如何实现的,能不能讲一下大体流程. 是在android系统中实现,还是协议栈中实现的?

Android多媒体之画画板开发案例分享_Android

先看看效果: 其实画画板的原理很简单,就是首先记录下按下屏幕的点,然后每移动一下就让这两次移动的点连线,周而复始,图像就由很多条直线构成了. 核心代码 : public class MainActivity extends Activity implements OnClickListener,OnSeekBarChangeListener { private View red_view,green_view,blue_view; //控制画笔颜色的三块区域 private SeekBar se

android 手机B/S应用开发请教

问题描述 小弟最近做一个应用客户要求在手机上进行审批目前该应用是b/s模式的.初步打算做一个适合手机屏幕的bs应用.也就是再做一个小屏的bs应用.不清楚这种方案能不能实现.对技术方面的要求有什么区别,有什么注意事项.现在的手机大部份都是android的系统有没有相关的参考资料.一般的手机对js的支持力度怎么样 问题补充:shixy 写道 解决方案 通过WebView可以实现你的需求:WebView web = new WebView(this);web.loadUrl("http://www.1

Android扫描本地音乐文件开发案例分享_Android

一.前言 本来觉得so easy,真是没想到,还搞了老半天,搞的我大汗淋漓,要拍桌子摔键盘了. 本想实现的功能是: 通过网易云音乐/百度音乐/QQ音乐/酷狗音乐中一个API,通过关键词/歌手/歌词来搜索相关歌曲信息,然后在线播放.下载到本地,不过目前来看,使用API还是有一点问题.通过浏览器访问,问题不大,例如下图: 但是想通过手机访问的时候,问题就出现了,同样的参数,结果很不一样,而且基本搜不到自己想要的,后来换做通过自己的服务器去访问,还是搜不到,后来查了一下资料,暂时也没解决.于是,目前就

Android扫描本地音乐文件开发案例分享

一.前言 本来觉得so easy,真是没想到,还搞了老半天,搞的我大汗淋漓,要拍桌子摔键盘了. 本想实现的功能是: 通过网易云音乐/百度音乐/QQ音乐/酷狗音乐中一个API,通过关键词/歌手/歌词来搜索相关歌曲信息,然后在线播放.下载到本地,不过目前来看,使用API还是有一点问题.通过浏览器访问,问题不大,例如下图: 但是想通过手机访问的时候,问题就出现了,同样的参数,结果很不一样,而且基本搜不到自己想要的,后来换做通过自己的服务器去访问,还是搜不到,后来查了一下资料,暂时也没解决.于是,目前就

Android多功能时钟开发案例(实战篇)_Android

上一篇为大家介绍的是Android多功能时钟开发基础内容,大家可以回顾一下,Android多功能时钟开发案例(基础篇) 接下来进入实战,快点来学习吧. 一.时钟在布局文件中我们看到,界面上只有一个TextView,这个TextView的作用就是显示一个系统的当前时间,同时这个时间还是一秒一秒跳的,要实现一秒一秒的跳就需要我们每隔一秒就要刷新一下,同时我们这里还考虑了切换到另一个Tab的时候,这个时间就不跳动了,这样就会减少这个对系统的占用,考虑到了这点我们在这里用到了Handler,通过hand