本文实例讲述了Android编程闹钟设置方法。分享给大家供大家参考,具体如下:
闹钟在生活中最常见了,在Android中可以通过AlarmManager来实现闹钟,AlarmManager类专门用来设置在某个指定的时间去完成指定的时间。AlarmManager就会通过onReceive()方法去执行这些事件,就算系统处于待机状态,同样不会影响运行。可以通过Context.getSystemService方法来获得该服务。AlarmManager中的方法不少,如下:
方法 |
说明 |
Cancel |
取消AlarmManager服务 |
Set |
设置AlarmManager服务 |
setInexactRepeating |
设置不精确周期 |
SetRepeating |
设置重复周期 |
setTimeZone |
设置时区 |
首先实现接受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, 0, 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, intent, 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编程实现闹钟的方法。分享给大家供大家参考,具体如下: 在Android中,有一个闹钟的类,AlarmManager类,我们可以通过其来对系统内的通知进行操作! 本文用到了Service和Broadcast两个后台管理,在处理时,曾出现过
本文向大家介绍Android闹钟设置的解决方案,包括了Android闹钟设置的解决方案的使用技巧和注意事项,需要的朋友参考一下 Android设置闹钟并不像IOS那样这么简单,做过Android设置闹钟的开发者都知道里面的坑有多深。下面记录一下,我解决Android闹钟设置的解决方案。 主要问题 1、API19开始AlarmManager的机制修改。 2、应用程序被Kill掉后,设置的闹钟不响。
本文向大家介绍android 设置闹钟及通知示例,包括了android 设置闹钟及通知示例的使用技巧和注意事项,需要的朋友参考一下 简单说一下这次demo内容,首先做一个设置一次性闹钟,先得到alarmManager,打开一个时间对话框,在里面设置闹钟的时间,时间一到发送广播,然后广播接受者接到跳转到新的activity播放音乐。接着是一个反复闹钟,最后是一个简单的通知,具体代码如下: 布局文件(
本文向大家介绍Android设置闹钟相对完善的解决方案,包括了Android设置闹钟相对完善的解决方案的使用技巧和注意事项,需要的朋友参考一下 前些时候,有人在我「非著名程序员」微信公众号的后台问我有没有设置闹钟的demo,我当时说承诺为大家写一个,一直没空,直到最近又有人跟我要,我决定抽时间写一个吧。确实设置闹钟是一个比较麻烦的东西。我在这里写的这个demo抽出来了封装了一个类库,大家直接调用其
本文向大家介绍Android闹钟启动时间设置无效问题的解决方法,包括了Android闹钟启动时间设置无效问题的解决方法的使用技巧和注意事项,需要的朋友参考一下 Android开发中,alarmManager在5.0以上系统,启动时间设置无效的问题 做一个app,需要后台保持发送心跳包。由于锁屏后CPU休眠,导致心跳包线程被挂起,所以尝试使用alarmManager定时唤醒Service发送心跳包。
函数名称:设置闹钟音量 函数功能:设置闹钟音量大小 函数方法 device.setAlarmVolume(vol) 参数 类型 必填 说明 vol number 是 闹钟音量,范围 0~100 函数用例 --不同设备范围可能不同 device.setAlarmVolume(7) vol = device.getAlarmVolume() dialog(vol,5000) 注意事项 目前积木编程函