android 多闹钟实现代码,Android重复闹钟(每天)的实现
MainActivity如下:
package cc.cc;
import java.util.Calendar;
import java.util.Locale;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
/**
* Demo描述:
* 重复闹钟的实现
*
* 注意事项:
* 1 因为我们是要实现的两个闹钟每天早八点和晚八点,它们是重复的.
* 所以在PendingIntent.getBroadcast()很容易出错.导致早八点
* 的闹钟无效.主要原因是因为该方法的第四个参数引起的.
* 解决办法:为BroadcastReceiver设置两个action,在生成Intent
* 的时候采用了不同的action,从而让两个闹钟都起作用.
* 如果有更好的方式请留言指出,多谢.
* 2 在calendar.set(Calendar.HOUR_OF_DAY, 8)方法的第二个参数
* 表示小时,请按照24小时制式填写.不用管此时设备采用什么时间
* 制式(12小时或24小时)
*
* 参考资料:
* 1 http://blog.csdn.net/hudashi/article/details/7060837
* 2 http://blog.csdn.net/wdaming1986/article/details/6745655
* 3 http://blog.csdn.net/z1074971432/article/details/17532139
* Thank you very much
*
*/
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
sendAlarmEveryday1(this);
sendAlarmEveryday2(this);
}
private void sendAlarmEveryday1(Context context){
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Calendar calendar =Calendar.getInstance(Locale.getDefault());
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 8);
calendar.set(Calendar.MINUTE, 30);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
Intent intent = new Intent();
intent.setAction("testalarm0");
PendingIntent pendingIntent=PendingIntent.getBroadcast(context,0, intent,PendingIntent.FLAG_CANCEL_CURRENT);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),AlarmManager.INTERVAL_DAY,pendingIntent);
}
private void sendAlarmEveryday2(Context context){
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Calendar calendar =Calendar.getInstance(Locale.getDefault());
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 20);
calendar.set(Calendar.MINUTE, 30);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
Intent intent = new Intent();
intent.setAction("testalarm1");
PendingIntent pendingIntent=PendingIntent.getBroadcast(context,0, intent,PendingIntent.FLAG_CANCEL_CURRENT);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),AlarmManager.INTERVAL_DAY,pendingIntent);
}
}
AlarmBroadcastReceiver如下:
package cc.cc;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class AlarmBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if ("testalarm0".equals(intent.getAction())) {
System.out.println("第一个闹钟");
}
if ("testalarm1".equals(intent.getAction())) {
System.out.println("第二个闹钟");
}
}
}
AndroidManifest.xml如下:
package="cc.cc"
android:versionCode="1"
android:versionName="1.0" >
android:minSdkVersion="10"
android:targetSdkVersion="10" />
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
android:name="cc.cc.MainActivity"
android:label="@string/app_name" >
main.xml如下:
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=".MainActivity" >
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
android 多闹钟实现代码,Android重复闹钟(每天)的实现相关推荐
- android 多闹钟实现代码,Android编程实现闹钟的方法详解
Android编程实现闹钟的方法详解 发布时间:2020-09-30 10:18:02 来源:脚本之家 阅读:75 作者:Jacob-wj 本文实例讲述了Android编程实现闹钟的方法.分享给大家供 ...
- android studio生命周期代码,Android Studio 单刷《第一行代码》系列 06 —— Fragment 生命周期...
前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...
- android 图片变颜色代码,Android -对图片Drawable进行变色
Android 图片DrawableCompat利用setTint()对图片Drawable进行变色 1.利用color资源对Drawable变色 Drawable对象的来源不限制,可以是从资源get ...
- Android微信通讯录界面代码,Android中使用Expandablelistview实现微信通讯录界面
之前的博文<Android 中使用ExpandableListView 实现分组的实例>我简单介绍了使用ExpandableListView实现简单的好友分组功能,今天我们针对之前的所做的 ...
- opengl android 纹理贴图 代码,Android 使用opengl es的纹理贴图白屏问题请教。
各位大侠好: 我在使用open gl es的做显示的时候,发现一个问题,请各位帮助一下,谢谢. 环境:opengl es 1.x,2D的模式显示纹理图片. 在LG-P990,HTC-C510E上显示附 ...
- android下拉框代码,Android下拉列表spinner的实例代码
spinner组件有点类型于HTML中的下拉框的样子,让用户每次从下拉框中选取一个,本文为大家分享了Android下拉列表spinner的具体实现代码,供大家参考,具体内容如下 mian.xml xm ...
- android实时监控屏幕代码,Android 屏幕切换监听的实例代码
昨天,我试着在屏幕切换时,使View显示在不同的位置,在网上搜索了一些资料,自己做了一段时间,终于完成了功能. 由于屏幕切换会调用activity的各个生命周期,所以需要在manifest的activ ...
- Android运行ListView的代码,Android ListView组件详解及示例代码
Android 列表组件 ListView 列表组件是开发中经常用到组件,使用该组件在使用时需要为它提供适配器,由适配器提供来确定显示样式和显示数据. 下面看一个例子: 新建一个项目Lesson8_L ...
- android做拨号程序代码,Android开发手机拨号程序实现实例源码介绍
Android开发手机拨号程序实现实例源码介绍,在上一篇文章中,我们实现了第一个程序:helloWorld,并成功测试完成.还给大家介绍了Android项目结构和说明.现在写一个手机拨号程序: 首先, ...
最新文章
- Python学习笔记《Python核心编程》第4章Python对象
- android新浪微博sdk登录获取用户名_多账户的统一登录方案
- Java黑皮书课后题第8章:**8.19(模式识别:四个连续相等的数)编写下面的方法,测试一个二维数组是否有四个连续相等的数字(水平、垂直、对角线方向都可以)。编写一个测试程序,提示用户输入一个数组
- 用汇编的眼光看C++(之拷贝、赋值函数)
- PAT_B_1065_Java(17分)_C++(25分)
- 推荐VSCode多语言开发,支持一键JAVA
- 高流量站点NGINX与PHP-fpm配置优化
- 切换数据库_如何快速切换到其他数据库实例
- codevs 1415 比那名居天子
- 关于“Fluent UI”或Ribbon Design报道的补充说明
- ROC曲线与AUC区域的理解与实践
- python整个小服务器
- 网络安全实验室CTF—注入关 writeup
- LintCode 51: Previous Permutation
- 为什么电脑不能安全关闭计算机,电脑无法正常关机的原因以及解决办法
- (深度学习评估指标)——MS COCO detection evaluation metrics
- php mtrand 范围,PHP mt_rand()函数
- 使用QT实现Mjpeg-streamer的客户端,采用单独的线程进行视频图片的获取
- nn.Bilinear讲解
- Win10手绘板无压感故障解决方法