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

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软件编程有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索Android闹钟服务
alarmmanager多个闹钟、alarmmanager取消闹钟、alarmmanager闹钟、alarmmanager重复闹钟、闹钟alarm,以便于您获取更多的相关知识。

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

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

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

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编程闹钟设置方法详解_Android

本文实例讲述了Android编程闹钟设置方法.分享给大家供大家参考,具体如下: 闹钟在生活中最常见了,在Android中可以通过AlarmManager来实现闹钟,AlarmManager类专门用来设置在某个指定的时间去完成指定的时间.AlarmManager就会通过onReceive()方法去执行这些事件,就算系统处于待机状态,同样不会影响运行.可以通过Context.getSystemService方法来获得该服务.AlarmManager中的方法不少,如下: 方法 说明 Cancel 取消

Android闹铃服务AlarmManager用法深入分析_Android

本文实例讲述了Android闹铃服务AlarmManager用法.分享给大家供大家参考,具体如下: 对应AlarmManage有一个AlarmManagerServie服务程 序,该服务程序才是正真提供闹铃服务的,它主要维护应用程序注册下来的各类闹铃并适时的设置即将触发的闹铃给闹铃设备(在系统中,linux实现的设备名 为"/dev/alarm"),并且一直监听闹铃设备,一旦有闹铃触发或者是闹铃事件发生,AlarmManagerServie服务程序就会遍历闹铃列 表找到相应的注册闹铃并

浅析Android 手机卫士设备管理权限锁屏_Android

推荐阅读: 浅析Android手机卫士sim卡绑定 深入浅析Android手机卫士保存密码时进行md5加密 详解Android 手机卫士设置向导页面 浅析Android手机卫士关闭自动更新 浅析Android手机卫士自定义控件的属性 浅析Android手机卫士读取联系人 浅析Android手机卫士接收短信指令执行相应操作 浅析Android手机卫士手机定位的原理 浅析Android手机卫士之手机实现短信指令获取位置 设备管理员 Device Admin 获取DevicePolicyManager

Android 手机无法连接mac解决办法_Android

Android 手机无法连接mac解决办法 一般的android连接mac 很方便不用安装驱动就可以啦,可是不知道为什么二般情况下有的android手机(小米2,华为等)就是连接不上,下来就说说二般情况下如何连接. 1.关于本机-->更多信息->概系统览->系统报告->usb->你所连接的device-->供应商ID(Vendor ID) 2.终端执行如下命令:     echo 0x2717 >> ~/.android/adb_usb.ini 3.重启 a