Android 设置闹铃步骤和基础代码
private void setAlarmTime(Context context,long timeInMillis) {
AlarmManager am = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(”android.alarm.demo.action“);
PendingIntent sender = PendingIntent.getBroadcast(
context, , intent, PendingIntent.FLAG_CANCEL_CURRENT);
int interval = * ;//闹铃间隔, 这里设为1分钟闹一次,在第2步我们将每隔1分钟收到一次广播
am.setRepeating(AlarmManager.RTC_WAKEUP, timeInMillis, interval, sender)
}
2. 接收闹铃事件广播
public class AlarmReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
if (”android.alarm.demo.action“.equals(intent.getAction())) {
//第1步中设置的闹铃时间到,这里可以弹出闹铃提示并播放响铃
//可以继续设置下一次闹铃时间;
return;
}
}
}
当然,Receiver是需要在Manifest.xml中注册的:
<receiver android:name="AlarmReceiver">
<intent-filter>
<action android:name="android.alarm.demo.action" />
</intent-filter>
</receiver>
3. 重开机后重新计算并设置闹铃时间 当然要有一个BootReceiver:
public class BootReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(Intent.ACTION_BOOT_COMPLETED)) {
//重新计算闹铃时间,并调第一步的方法设置闹铃时间及闹铃间隔时间
}
}
}
当然,也需要注册:
<receiver android:name="BootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
闹钟实现原理其实就这么多,至于具体的细节比如闹铃时间存储及计算, 界面显示及闹铃提示方式,每个人的想法做法都会不一样
Android 设置闹铃步骤和基础代码的更多相关文章
- Android 设置进度条背景
Android 设置进度条背景 直接上代码 <ProgressBar android:id="@+id/progressBar" android:layout_width=& ...
- android开发--翻转闹铃(从制作到打包)
(转载请声明,文章原作地址http://blog.csdn.net/buptgshengod) 最近在家放假,一直想做一个手机应用,于是就自己动手做起来了.想到一个注意就是当闹铃响的时候翻转闹铃,声音 ...
- android设置透明度代码片段
我们可以在代码中完成对窗体透明度(这是窗体本身的透明度,非背景)的设置,方法如下: WindowManager.LayoutParams windowLP = getWindow().getAttr ...
- Android开发之将Edittext输入弹出的软键盘设置搜索确定键。详细代码,已验证可用。
1,首先在布局中添加 android:imeOptions="actionSearch 2,然后java代码中设置代码: et_input_password.setOnEditorActio ...
- 《Android Studio开发实战 从零基础到App上线》资源下载和内容勘误
转载于:https://blog.csdn.net/aqi00/article/details/73065392 资源下载 下面是<Android Studio开发实战 从零基础到App上线&g ...
- Unity中加入Android项目的Build步骤
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 简介: 有的项目需要在Android中加入Unity功能,例如ANDROID应用中嵌入Un ...
- Android单片机与蓝牙模块通信实例代码
Android单片机与蓝牙模块通信实例代码 参考路径:http://www.jb51.net/article/83349.htm 啦啦毕业了,毕业前要写毕业设计,需要写一个简单的蓝牙APP进行交互,通 ...
- ionic3应用的Android打包签名发布步骤
版权声明:本文为博主原创文章,未经博主允许不得转载. 当我们的ionic应用开发结束之后,就要开始上线到应用市场,那么Android的发布步骤具体是怎么样的呢? 1)编译 运行命令行: ionic c ...
- [ 转载 ] Android JNI(一)——NDK与JNI基础
Android JNI(一)——NDK与JNI基础 隔壁老李头 关注 4.4 2018.05.09 17:15* 字数 5481 阅读 11468评论 8喜欢 140 本系列文章如下: Androi ...
随机推荐
- Android -- ViewRoot,关于子线程刷新UI
Android在4.0之后执行线程更新UI操作会报异常:CalledFromWrongThreadException:Only the original thread that created a v ...
- Tomcat性能参数设置
Tomcat性能参数设置 Tomcat性能参数设置 博客分类: Java LinuxTomcat网络应用多线程Socket 默认参数不适合生产环境使用,因此需要修改一些参数 1.修改启动时内存参数.并 ...
- 使用sqlserver日期函数获取当前日期
使用sqlserver日期函数中的getdate()可以获取当现的日期,下面就将为您介绍这种使用sqlserver日期函数获取当前日期的方法,供您参考,希望对您学习sqlserver日期函数有所启迪. ...
- pcxFirefox 自定义
便携特性(ini设置) 把与firefox.exe同文件夹的tmemutil-sample.ini 改名为tmemutil.ini,设置如下: Portable=1 #便携式 Portable ...
- gvim config
配置文件在根目录下 _vimrc set nocompatible source $VIMRUNTIME/vimrc_example.vim source $VIMRUNTIME/mswin.vim ...
- IEEE 802.11 标准列表
IEEE 802.11 标准列表 IEEE 802.11,1997年,原始标准(2Mbit/s,播在2.4GHz). IEEE 802.11a,1999年,物理层补充(54Mbit/s,播在5GHz) ...
- Posix线程编程指南(4) 线程终止
线程终止方式 一般来说,Posix的线程终止有两种情况:正常终止和非正常终止.线程主动调用pthread_exit()或者从线程函数中return都将使线程正常退出,这是可预见的退出方式:非正常终止是 ...
- 设计模式之职责链模式(Chain of Responsibility)
职责链模式原理: 职责链模式和装饰模式以及组合模式类似的地方是都维持着指向父类的指针, 不同点是职责链模式每个子类都继承父类的指针及每个之类都维持着指向父类的指针,而组合模式与装饰模式是组合类鱼装饰类 ...
- 【BZOJ】【1030】【JSOI2007】文本生成器
AC自动机/DP Orz ZYF 玛雅快要省选了,赶紧复(xue)习(xi)一下AC自动机…… 其实在AC自动机上DP并没有当初想的那么复杂……就是把DP的转移关系换成了AC自动机上的边而已(不过这题 ...
- HttpWatch 安装后在IE上打开
启动浏览器, 在空白地方左键, 显示出菜单栏 菜单栏中选择"查看">"浏览器栏">"HttpWatch"启动HttpWatch ...