Android编程闹钟设置方法详解

Android编程闹钟设置方法详解,第1张

概述本文实例讲述了Android编程闹钟设置方法。分享给大家供大家参考,具体如下:

本文实例讲述了AndroID编程闹钟设置方法。分享给大家供大家参考,具体如下:

闹钟在生活中最常见了,在AndroID中可以通过AlarmManager来实现闹钟,AlarmManager类专门用来设置在某个指定的时间去完成指定的时间。AlarmManager就会通过onReceive()方法去执行这些事件,就算系统处于待机状态,同样不会影响运行。可以通过Context.getSystemService方法来获得该服务。AlarmManager中的方法不少,如下:

方法

说明

Cancel

取消AlarmManager服务

Set

设置服务

setInexactRepeating

设置不精确周期

SetRepeating

设置重复周期

setTimeZone

设置时区


要实现闹钟,首先需要创建一个继承自broadcastReceiver的类,实现onReceive方法来接受这个Alarm服务,然后通过建立Intent和PendingIntent连接来调用Alarm组件。通过TimerPickerDialog来设置闹铃时间,当时间到了我们指定的时间后onReceiver方法接受到Alarm服务后的界面。

首先实现接受Alarm服务的AlarmReceiver类,用Toast类提示用户

public class AlarmReceiver extends broadcastReceiver {  @OverrIDe  public voID onReceive(Context arg0,Intent arg1) {    // Todo auto-generated method stub    Toast.makeText(arg0,"你设置的闹铃时间到了",Toast.LENGTH_LONG).show();  }}

由于使用了broadcastReceiver服务,因此需要再AndroIDManifest.xml中进行声明:

<receiver  androID:name=".AlarmReceiver"  androID:process=":remote"></receiver>

然后需要设置闹铃和取消闹铃的时间进行监听:

package cn.edu.pku;import java.util.Calendar;import androID.app.Activity;import androID.app.AlarmManager;import androID.app.PendingIntent;import androID.app.TimePickerDialog;import androID.content.Intent;import androID.os.Bundle;import androID.vIEw.VIEw;import androID.Widget.button;import androID.Widget.TextVIEw;import androID.Widget.TimePicker;public class AlarmActivity extends Activity {  /** Called when the activity is first created. */  button mbutton1;  button mbutton2;  TextVIEw mTextVIEw;  Calendar calendar;  @OverrIDe  public voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.main);    calendar=Calendar.getInstance();    mTextVIEw=(TextVIEw)findVIEwByID(R.ID.TextVIEw01);    mbutton1=(button)findVIEwByID(R.ID.button01);    mbutton2=(button)findVIEwByID(R.ID.button02);    mbutton1.setonClickListener(new VIEw.OnClickListener() {      public voID onClick(VIEw v) {        // Todo auto-generated method stub        calendar.setTimeInMillis(System.currentTimeMillis());        int hour = calendar.get(Calendar.HOUR_OF_DAY);        int minute = calendar.get(Calendar.MINUTE);        new TimePickerDialog(AlarmActivity.this,new TimePickerDialog.OnTimeSetListener() {          public voID onTimeSet(TimePicker vIEw,int hourOfDay,int minute) {            // Todo auto-generated method stub            calendar.setTimeInMillis(System.currentTimeMillis());            calendar.set(Calendar.HOUR_OF_DAY,hourOfDay);            calendar.set(Calendar.MINUTE,minute);            calendar.set(Calendar.SECOND,0);            calendar.set(Calendar.MILliSECOND,0);            Intent intent = new Intent(AlarmActivity.this,AlarmReceiver.class);            PendingIntent pendingIntent = PendingIntent.getbroadcast(AlarmActivity.this,intent,0);            AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);            alarmManager.set(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),pendingIntent);            alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis() + (10 * 1000),(24 * 60 * 60 * 1000),pendingIntent);            String tmps = "设置闹钟时间为" + format(hourOfDay) + ":" +format(minute);            mTextVIEw.setText(tmps);          }        },hour,minute,true).show();      }    });    mbutton2.setonClickListener(new VIEw.OnClickListener() {      public voID onClick(VIEw v) {        // Todo auto-generated method stub        Intent intent = new Intent(AlarmActivity.this,AlarmReceiver.class);        PendingIntent pendingIntent = PendingIntent.getbroadcast(AlarmActivity.this,0);        AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);        alarmManager.cancel(pendingIntent);        mTextVIEw.setText("闹铃已取消!");      }    });  }  private String format(int time){    String str = "" + time;    if(str.length() == 1){      str = "0" + str;    }    return str;  }}

效果如下:

设置闹铃

现在时间到设置闹铃的时间:

取消闹铃:

更多关于AndroID相关内容感兴趣的读者可查看本站专题:《Android日期与时间 *** 作技巧总结》、《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android多媒体 *** 作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》

希望本文所述对大家AndroID程序设计有所帮助。

总结

以上是内存溢出为你收集整理的Android编程闹钟设置方法详解全部内容,希望文章能够帮你解决Android编程闹钟设置方法详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1147862.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存