返回顶部
首页 > 资讯 > 移动开发 >Android实现每天定时提醒功能
  • 435
分享到

Android实现每天定时提醒功能

Android 2022-06-06 01:06:05 435人浏览 安东尼
摘要

这个是设置定时提醒的功能,即设置几点几分后提醒,用的是给系统设置个时间点,当系统时间到达设置的时间点的时候就会给我们发送一个广播,然后达到时间提醒功能 网上找了很多,遇到了很多

这个是设置定时提醒的功能,即设置几点几分后提醒,用的是给系统设置个时间点,当系统时间到达设置的时间点的时候就会给我们发送一个广播,然后达到时间提醒功能

网上找了很多,遇到了很多坑,经过摸索出来的,比如下面设置重复时间的第二个参数,网上有很多说是执行提醒延时多少毫秒执行,我用的刷了MIUI的三星手机测试怎么都不对,经过摸索测试才发现,原来不是,原来那个参数是设定的时间点的毫秒值!好了,不多说,看代码:



 private void startRemind(){
   //得到日历实例,主要是为了下面的获取时间
   mCalendar = Calendar.getInstance();
   mCalendar.setTimeInMillis(System.currentTimeMillis());
   //获取当前毫秒值
   long systemTime = System.currentTimeMillis();
   //是设置日历的时间,主要是让日历的年月日和当前同步
   mCalendar.setTimeInMillis(System.currentTimeMillis());
   // 这里时区需要设置一下,不然可能个别手机会有8个小时的时间差
   mCalendar.setTimeZone(TimeZone.getTimeZone("GMT+8"));
   //设置在几点提醒 设置的为13点
   mCalendar.set(Calendar.HOUR_OF_DAY, 13);
   //设置在几分提醒 设置的为25分
   mCalendar.set(Calendar.MINUTE, 25);
   //下面这两个看字面意思也知道
   mCalendar.set(Calendar.SECOND, 0);
   mCalendar.set(Calendar.MILLISECOND, 0);
   //上面设置的就是13点25分的时间点
   //获取上面设置的13点25分的毫秒值
   long selectTime = mCalendar.getTimeInMillis();
   // 如果当前时间大于设置的时间,那么就从第二天的设定时间开始
   if(systemTime > selectTime) {
     mCalendar.add(Calendar.DAY_OF_MONTH, 1);
   }
  //AlarmReceiver.class为广播接受者
   Intent intent = new Intent(MainActivity.this, AlarmReceiver.class);
   PendingIntent pi = PendingIntent.getBroadcast(MainActivity.this, 0, intent, 0);
   //得到AlarmManager实例
   AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
  /
   am.set(AlarmManager.RTC_WAKEUP, mCalendar.getTimeInMillis(), pi);
   
   am.setRepeating(AlarmManager.RTC_WAKEUP, mCalendar.getTimeInMillis(), (1000 * 60 * 60 * 24), pi);
 }

 private void stopRemind(){
   Intent intent = new Intent(MainActivity.this, AlarmReceiver.class);
   PendingIntent pi = PendingIntent.getBroadcast(MainActivity.this, 0,
       intent, 0);
   AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
   //取消警报
   am.cancel(pi);
   Toast.makeText(this, "关闭了提醒", Toast.LENGTH_SHORT).show();
 }

上面第一个参数的详解:

AlarmManager.RTC,硬件闹钟,不唤醒手机(也可能是其它设备)休眠;当手机休眠时不发射闹钟。

AlarmManager.RTC_WAKEUP,硬件闹钟,当闹钟发躰时唤醒手机休眠;

AlarmManager.ELAPSED_REALTIME,真实时间流逝闹钟,不唤醒手机休眠;当手机休眠时不发射闹钟。

AlarmManager.ELAPSED_REALTIME_WAKEUP,真实时间流逝闹钟,当闹钟发躰时唤醒手机休眠;

RTC闹钟和ELAPSED_REALTIME最大的差别就是前者可以通过修改手机时间触发闹钟事件,后者要通过真实时间的流逝,即使在休眠状态,时间也会被计算。

然后写广播接受者:


public class AlarmReceiver extends BroadcastReceiver {
  @Override
  public void onReceive(Context context, Intent intent) {
    //当系统到我们设定的时间点的时候会发送广播,执行这里
  }
}

最后别忘了给广播接受者配置清单文件:


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

使用方法就直接调用启动提醒或关闭提醒就行

您可能感兴趣的文章:Android4.4开发之电池低电量告警提示原理与实现方法分析Android后台定时提醒功能实现Android基于广播事件机制实现简单定时提醒功能代码android获取情景模式和铃声 实现震动、铃声提醒详解Android中Notification通知提醒Android编程设置提醒事件的方法Android高仿微信5.2.1主界面及消息提醒Android提醒微技巧你真的了解Dialog、Toast和Snackbar吗Android 开发之Dialog,Toast,Snackbar提醒Android开发之使用通知栏显示提醒信息的方法Android编程实现添加低电流提醒功能的方法


--结束END--

本文标题: Android实现每天定时提醒功能

本文链接: https://lsjlt.com/news/21808.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android实现每天定时提醒功能
    这个是设置定时提醒的功能,即设置几点几分后提醒,用的是给系统设置个时间点,当系统时间到达设置的时间点的时候就会给我们发送一个广播,然后达到时间提醒功能 网上找了很多,遇到了很多...
    99+
    2022-06-06
    Android
  • Android后台定时提醒功能实现
    前提:考虑到自己每次在敲代码或者打游戏的时候总是会不注意时间,一不留神就对着电脑连续3个小时以上,对眼睛的伤害还是挺大的,重度近视了可是会遗传给将来的孩子的呀,可能老婆都跟别人...
    99+
    2022-06-06
    Android
  • java定时提醒功能怎么实现
    在Java中,可以使用java.util.Timer类和java.util.TimerTask类来实现定时提醒功能。以下是一个简单的...
    99+
    2024-02-29
    java
  • Android中AlarmManager+Notification实现定时通知提醒功能
    AlarmManager简介 AlarmManager实质是一个全局的定时器,是Android中常用的一种系统级别的提示服务,在指定时间或周期性启动其它组件(包括Activit...
    99+
    2022-06-06
    alarmmanager notification Android
  • Android中怎么使用AlarmManager和Notification实现定时通知提醒功能
    这期内容当中小编将会给大家带来有关Android中怎么使用AlarmManager和Notification实现定时通知提醒功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。AlarmManager简介A...
    99+
    2023-05-30
    android alarmmanager notification
  • android studio怎么实现弹窗提醒功能
    要在Android Studio中实现弹窗提醒功能,可以使用AlertDialog类。下面是一个简单的示例代码:```javaAle...
    99+
    2023-08-08
    android studio
  • Android基于广播事件机制实现简单定时提醒功能代码
    本文实例讲述了Android基于广播事件机制实现简单定时提醒功能代码。分享给大家供大家参考,具体如下: 1.Android广播事件机制 Android的广播事件处理类似于普通的...
    99+
    2022-06-06
    事件 Android
  • Android实现定时任务功能
    本文实例为大家分享了Android实现定时任务功能的具体代码,供大家参考,具体内容如下 1、采用Handle与线程的sleep(long)方法 (1)、定义一个Handler类,用于...
    99+
    2024-04-02
  • Android实现实时视频聊天功能源码
    实现实时视频聊天功能的源码在Android平台上可以使用WebRTC技术。下面是一个简单的示例:1. 添加依赖项在项目的build....
    99+
    2023-09-13
    Android
  • Python实现农历生日提醒功能
    前言:       某天突发奇想,想要实现一个农历生日提醒。这个时候有了如下的大概思路:      &nb...
    99+
    2024-04-02
  • java如何实现消息提醒功能
    Java可以通过以下几种方式实现消息提醒功能:1. 使用弹窗:可以使用Java的Swing或JavaFX库来创建弹窗,当需要提醒用户...
    99+
    2023-08-08
    java
  • Android编程实现添加低电流提醒功能的方法
    本文实例讲述了Android编程实现添加低电流提醒功能的方法。分享给大家供大家参考,具体如下:特殊需求,检测电流是否正常。监听如下广播:Intent.ACTION_BATTERY_CHANGEDplugType = intent.getIn...
    99+
    2023-05-30
    android 提醒功能 roi
  • Android自定义View实现时钟功能
    最近在练习自定义view, 想起之前面试的时候笔试有道题是写出自定义一个时钟的关键代码. 今天就来实现一下. 步骤依然是先分析, 再上代码. 实现效果 View分析 时钟主要分为五...
    99+
    2024-04-02
  • android socket聊天室功能实现
    前提概要 笔者很久之前其实就已经学习过了socket,当然也是用socket做过了聊天室,但是觉得此知识点比较一般,并无特别难的技术点,于是也并未深究。 然而近期一个项目中对...
    99+
    2022-06-06
    socket Android
  • Android怎么实现聊天功能
    要实现聊天功能,可以使用 Android 提供的 Socket 和网络通信技术。以下是一个简单的实现聊天功能的步骤:1. 创建一个服...
    99+
    2023-10-09
    Android
  • android聊天功能怎么实现
    要实现Android聊天功能,你可以按照以下步骤进行:1. 创建一个用于显示聊天信息的界面。可以使用RecyclerView或Lis...
    99+
    2023-08-18
    android
  • 如何使用VBS实现定时提醒脚本
    这篇文章主要介绍如何使用VBS实现定时提醒脚本,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!'       tx = ...
    99+
    2023-06-08
  • Linux shell实现每天定时备份mysql数据库
    每天定时备份mysql数据库任务,删除指定天数前的数据,保留指定天的数据; 需求: 1,每天4点备份mysql数据; 2,为节省空间,删除超过3个月的所有备份数据; 3,删除超过7天的备份数据,...
    99+
    2022-06-04
    备份 数据库 Linux
  • CentOS 7.0下nginx实现每天定时分割日志
    大家都知道Nginx产生的日志都是存在一个文件,随着网站运行时间越长,日志文件的大小也在不断增长,所以这个时候就需要实现定时分割,这篇文章主要介绍了在CentOS 7.0下nginx实现每天定时分割日志的相关资料,需要的朋友可以参考下。环境...
    99+
    2023-06-05
  • mysql数据库定时每天备份怎么实现
    实现MySQL数据库定时每天备份可以使用以下方法: 使用cron定时任务:在Linux系统上,可以使用cron定时任务来实现每天...
    99+
    2023-10-24
    mysql数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作