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重复闹钟(每天)的实现相关推荐

  1. android 多闹钟实现代码,Android编程实现闹钟的方法详解

    Android编程实现闹钟的方法详解 发布时间:2020-09-30 10:18:02 来源:脚本之家 阅读:75 作者:Jacob-wj 本文实例讲述了Android编程实现闹钟的方法.分享给大家供 ...

  2. android studio生命周期代码,Android Studio 单刷《第一行代码》系列 06 —— Fragment 生命周期...

    前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

  3. android 图片变颜色代码,Android -对图片Drawable进行变色

    Android 图片DrawableCompat利用setTint()对图片Drawable进行变色 1.利用color资源对Drawable变色 Drawable对象的来源不限制,可以是从资源get ...

  4. Android微信通讯录界面代码,Android中使用Expandablelistview实现微信通讯录界面

    之前的博文<Android 中使用ExpandableListView 实现分组的实例>我简单介绍了使用ExpandableListView实现简单的好友分组功能,今天我们针对之前的所做的 ...

  5. opengl android 纹理贴图 代码,Android 使用opengl es的纹理贴图白屏问题请教。

    各位大侠好: 我在使用open gl es的做显示的时候,发现一个问题,请各位帮助一下,谢谢. 环境:opengl es 1.x,2D的模式显示纹理图片. 在LG-P990,HTC-C510E上显示附 ...

  6. android下拉框代码,Android下拉列表spinner的实例代码

    spinner组件有点类型于HTML中的下拉框的样子,让用户每次从下拉框中选取一个,本文为大家分享了Android下拉列表spinner的具体实现代码,供大家参考,具体内容如下 mian.xml xm ...

  7. android实时监控屏幕代码,Android 屏幕切换监听的实例代码

    昨天,我试着在屏幕切换时,使View显示在不同的位置,在网上搜索了一些资料,自己做了一段时间,终于完成了功能. 由于屏幕切换会调用activity的各个生命周期,所以需要在manifest的activ ...

  8. Android运行ListView的代码,Android ListView组件详解及示例代码

    Android 列表组件 ListView 列表组件是开发中经常用到组件,使用该组件在使用时需要为它提供适配器,由适配器提供来确定显示样式和显示数据. 下面看一个例子: 新建一个项目Lesson8_L ...

  9. android做拨号程序代码,Android开发手机拨号程序实现实例源码介绍

    Android开发手机拨号程序实现实例源码介绍,在上一篇文章中,我们实现了第一个程序:helloWorld,并成功测试完成.还给大家介绍了Android项目结构和说明.现在写一个手机拨号程序: 首先, ...

最新文章

  1. Python学习笔记《Python核心编程》第4章Python对象
  2. android新浪微博sdk登录获取用户名_多账户的统一登录方案
  3. Java黑皮书课后题第8章:**8.19(模式识别:四个连续相等的数)编写下面的方法,测试一个二维数组是否有四个连续相等的数字(水平、垂直、对角线方向都可以)。编写一个测试程序,提示用户输入一个数组
  4. 用汇编的眼光看C++(之拷贝、赋值函数)
  5. PAT_B_1065_Java(17分)_C++(25分)
  6. 推荐VSCode多语言开发,支持一键JAVA
  7. 高流量站点NGINX与PHP-fpm配置优化
  8. 切换数据库_如何快速切换到其他数据库实例
  9. codevs 1415 比那名居天子
  10. 关于“Fluent UI”或Ribbon Design报道的补充说明
  11. ROC曲线与AUC区域的理解与实践
  12. python整个小服务器
  13. 网络安全实验室CTF—注入关 writeup
  14. LintCode 51: Previous Permutation
  15. 为什么电脑不能安全关闭计算机,电脑无法正常关机的原因以及解决办法
  16. (深度学习评估指标)——MS COCO detection evaluation metrics
  17. php mtrand 范围,PHP mt_rand()函数
  18. 使用QT实现Mjpeg-streamer的客户端,采用单独的线程进行视频图片的获取
  19. nn.Bilinear讲解
  20. Win10手绘板无压感故障解决方法

热门文章

  1. 第一章第2节-WebGIS开发
  2. JavaScript -函数式编程
  3. python代码宠物_和孩子一起做一只电子宠物吧!
  4. 软件工程网络15个人阅读作业1(201521123028李家俊)
  5. 高架快速路与地面道路衔接路口精细治理
  6. AD模数转化电路的一种实现方式
  7. 树莓派Kali系统 HDMI 修改屏幕分辨率
  8. AAA之802.1x认证详解(一)
  9. Ubuntu 搜狗输入法显示繁体,一直不显示简体
  10. 调试海康在线播放视频