Android闹钟-通知

Android 仿闹钟 及 通知栏的实现 一.闹钟的实现     这里运用了广播来实现,信息的传递    下面是代码   public class MainActivity extends AppCompatActivity { private AlarmManager alarmManager; private PendingIntent pendingIntent; @Override pro 阅读详情
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:orientation="vertical">

    <!--一次性闹钟-->
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="设置闹钟(一次)"
        android:onClick="setAlarmOnce"/>
    <!--周期闹钟-->
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="设置闹钟(周期)"
        android:onClick="setAlarmRepeat"/>
    <!--取消周期闹钟-->
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="取消周期闹钟"
        android:onClick="cancelAlarmRepeat"/>
    <!--发送通知-->
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="发送通知"
        android:onClick="send"/>
</LinearLayout>

MainActivity.java

package com.zking.administrator.g160628_android29_alarm_notification;

import android.app.AlarmManager;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.TimePickerDialog;
import android.content.Context;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.app.NotificationCompat;
import android.view.View;
import android.widget.TimePicker;

import java.util.Calendar;
/**
 * 定时操作  (定时关闭,游戏活动)
 */
public class MainActivity extends AppCompatActivity {

    private AlarmManager am;
    private PendingIntent pendingIntent;
    private NotificationManager notificationManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获取闹钟管理器
        am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        //获取通知管理器
        notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    }
    //一次性闹钟
    public void setAlarmOnce(View view){
       //获取当前系统的时间
        Calendar calendar=Calendar.getInstance();
        //小时
        int hour=calendar.get(Calendar.HOUR_OF_DAY);
        //分钟
        int minute=calendar.get(Calendar.MINUTE);
        //1.弹出一个时间的对话框
        TimePickerDialog timePickerDialog=new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
            @Override//2.获取到时间(选择的时针hourOfDay和分针minute
            public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
               //选择的时间
                Calendar c=Calendar.getInstance();
                c.set(Calendar.HOUR_OF_DAY,hourOfDay);
                c.set(Calendar.MINUTE,minute);
                //发送广播
                PendingIntent pendingIntent=PendingIntent.getBroadcast(MainActivity.this,0x101,new Intent("com.zking.administrator.g160628_android29_alarm_notification.RING"),0);
                //3.设置闹钟 (RTC_WAKEUP唤醒屏幕)(getTimeInMillis14.48分的毫秒值)
                am.set(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),pendingIntent);
            }
        },hour,minute,true);
        //弹框
        timePickerDialog.show();
    }

    //周期闹钟
    public void setAlarmRepeat(View view){
        //获取当前系统的时间
        Calendar calendar=Calendar.getInstance();
        //小时
        int hour=calendar.get(Calendar.HOUR_OF_DAY);
        //分钟
        int minute=calendar.get(Calendar.MINUTE);
        //1.弹出一个时间的对话框
        TimePickerDialog timePickerDialog=new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {

            @Override//2.获取到时间(选择的时针hourOfDay和分针minute
            public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                //选择的时间
                Calendar c=Calendar.getInstance();
                c.set(Calendar.HOUR_OF_DAY,hourOfDay);
                c.set(Calendar.MINUTE,minute);
                //发送广播(操作)
                pendingIntent = PendingIntent.getBroadcast(MainActivity.this,0x102,new Intent("com.zking.administrator.g160628_android29_alarm_notification.RING"),0);
                //3.设置闹钟 (RTC_WAKEUP唤醒屏幕)(getTimeInMillis14.48分的毫秒值)
                am.setRepeating(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),5000, pendingIntent);
            }
        },hour,minute,true);
        //弹框
        timePickerDialog.show();
    }

    //取消周期闹钟
    public void cancelAlarmRepeat(View view){
        am.cancel(pendingIntent);
    }

    //发送通知
    public void send(View view){
        //实例化通知
        NotificationCompat.Builder builder=new NotificationCompat.Builder(this);
        //标题
        builder.setContentTitle("提示");
        //内容
        builder.setContentText("恭喜您,中奖啦!请先汇款到XXXXX-XXXXX-XXXXXX账号进行激活");
        //图标
        builder.setSmallIcon(android.R.drawable.star_big_off);
        //设置使用默认声音、震动、闪光灯
        builder.setDefaults(NotificationCompat.DEFAULT_ALL);
        Notification notification=builder.build();
//        //设置使用默认声音
//        builder.setDefaults(NotificationCompat.DEFAULT_SOUND);
//        //设置使用默认闪光灯
//        builder.setDefaults(NotificationCompat.DEFAULT_LIGHTS);
//        //设置使用默认震动
//        builder.setDefaults(NotificationCompat.DEFAULT_VIBRATE);
        //发送通知
        notificationManager.notify(0x101,notification);
    }
}
AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.zking.administrator.g160628_android29_alarm_notification">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".RingActivity"></activity>
        <!--静态注册-->
        <receiver android:name=".RingReceiver"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="com.zking.administrator.g160628_android29_alarm_notification.RING"></action>
            </intent-filter>
        </receiver>
    </application>

</manifest>
activity_ring.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="懒猪,该起床了!!!"
        android:textSize="30sp"
        android:textStyle="italic"/>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="停止"
        android:onClick="stop"/>
</LinearLayout>
RingReceiver.java
package com.zking.administrator.g160628_android29_alarm_notification;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

/**
 * Created by Administrator on 2017/7/23.
 * 闹钟广播
 */

public class RingReceiver extends BroadcastReceiver{
    @Override
    public void onReceive(Context context, Intent intent) {
        if("com.zking.administrator.g160628_android29_alarm_notification.RING".equals(intent.getAction())){
            Log.i("test","闹钟响了!!!");
            //跳转到Activity中
            Intent intent2=new Intent(context,RingActivity.class);
            intent2.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
            context.startActivity(intent2);
        }
    }
}
RingActivity.java
package com.zking.administrator.g160628_android29_alarm_notification;

import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class RingActivity extends AppCompatActivity {

    private MediaPlayer mediaPlayer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ring);
        mediaPlayer = MediaPlayer.create(this, R.raw.s8);
        //播放
        mediaPlayer.start();
    }
    //关闭
    public void stop(View view){
        mediaPlayer.stop();
        finish();

    }
}




Android实现-闹钟-通知 Android实现-闹钟-通知 1.界面设计 2.实现代码 1.实现步骤 我们首先写好一个设置闹钟的界面(activity_main.xml),然后写好实现闹钟的代码(MainActivity);然后在写一个闹钟时间到了的跳转页面(RingAction01);然后在写跳转成功的界面(activity_ring.xml),然后写一个Action实现跳转成功后响铃 通知我们(RingActi 阅读详情

相关推荐

Android中AlarmManager+Notification实现定时通知提醒功能

AlarmManager简介 AlarmManager实质是一个全局的定时器,是Android中常用的一种系统级别的提示服务,在指定时间或周期性启动其它组件(包括Activity,Service,BroadcastReceiver)。本文将讲解一下如何使用AlarmManager实现定时提醒功能。 闹钟配置 周期闹钟 Intent intent = new Intent(); intent.setAction(GlobalValues.TIMER_ACTION_REPEATING); PendingIntent sender = PendingIntent.getBroadcast(cont

android 闹钟提醒

android 闹钟提醒

weixin_45768801的博客 855

android 设置闹钟及通知示例

本篇文章主要介绍了android 设置闹钟及通知示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

Android中的闹钟与通知(附Demo)

闹钟闹钟管理器Alarm Manager 可以使用闹钟管理器触发事件,这些事件可以在特定的时刻或以固定的时间间隔发生 获得闹钟管理器:AlarmManager am=(AlarmManager)this.getSystemService(Caontext.ALARM_SERVICE) 设置周期闹钟 am.setRepeating(int type,Long triggerAMillis

qq_36230361的博客 3324

OTP语音芯片SOP8的前世今生_如九齐_硕呈_钰绅等以及国产方案KT148A

语音芯片ic的其中一个品类,就是SOP8封装的OTP语音芯片,非常的经典和常用。源头的供应商基本都是台系的原厂,比如:九齐、硕呈、佑华等等,其中佑华就算是鼻祖了,早期的4位机也是在语音市场得到了升华。 OTP(One Time Programmable)是单片机的一种存储器类型,意思是一次性可编程:程序烧入单片机后,将不可再次更改和清除。

qyvhome的博客 1873

智能问数系统的完整技术栈与实现逻辑

提取并增强数据库 Schema(含业务语义)选择 LLM(开源 qwen2 / 商业 GPT-4o)构建 RAG 向量库(存储历史问法)实现 SQL 安全校验与权限控制添加结果自然语言解释 + 可视化部署到只读数据库环境🔑核心原则“先保证安全,再追求智能”—— 一个能生成错误 SQL 的智能问数系统,比没有更危险。

我们的征途是星辰大海 1619

android 自定义闹钟通知提醒

Android自定义闹钟通知提醒实现教程 介绍 作为一名经验丰富的开发者,我将指导你如何在Android应用中实现自定义闹钟通知提醒功能。在这篇文章中,我将首先展示整个实现流程的步骤,然后详细说明每一步需要做什么以及需要使用的代码。 实现流程步骤 journey title 实现Android自定义闹钟通知提醒功能...

weixin_36124208的博客 418

MAX30102心率血氧传感器:从原理到实践的可穿戴健康监测方案

本文深入解析MAX30102心率血氧传感器的工作原理及在可穿戴健康监测中的实践应用。通过反射式光电容积脉搏波(PPG)技术,该传感器能精准测量心率和血氧饱和度,具备低功耗、高抗干扰等优势。文章详细介绍了信号处理算法、硬件连接技巧及创新应用场景,为开发者提供全面的解决方案。

weixin_29184371的博客 282

8.Android学习之消息、通知、广播与闹钟(三)

目录 8.消息、通知、广播与闹钟(三) 5.使用AlarmManager类设置闹钟 5-1.AlarmManager 简介 5-2.设置一个简单的闹钟 6.难点解答 6-1.如何让AlertDialog类只有单击响应按钮时才关闭 6-2.如何选择Toast类和AlertDialog类 8.消息、通知、广播与闹钟(三) 5.使用AlarmManager类设置闹钟 AlarmManager类是Android提供的用于在未来的指定时间弹出一个警告信息,或者完成指定操作的类。实际上Alarm

ttycr的博客 1765

基于DNN、CNN与SVM的串联电弧故障智能检测:从原理到嵌入式部署

在电气安全与工业物联网领域,时间序列分类是处理传感器信号、实现状态监测与故障诊断的核心技术。其原理在于从连续的信号数据中提取有效特征,并利用机器学习模型识别异常模式。这项技术的核心价值在于能够实现设备预测性维护、提升系统安全性并降低运维成本,广泛应用于智能电表、电机健康监测、电力设备保护等场景。本文聚焦于电气安全中的一个具体且危险的隐患——串联电弧故障的检测。针对这一隐蔽性强、传统方法误报率高的问题,项目深入实践了三种主流AI模型:深度神经网络、卷积神经网络和支持向量机。通过对比DNN的通用特征学习能力、C

weixin_31860973的博客 413

SoC 验证老兵手册

《SoC验证老兵手册》摘要: 针对大型SoC系统级验证,手册提出Cache+DMA场景的高效验证方案。核心方法采用C测试用例(模拟Linux/RTOS真实场景)触发隐蔽bug,配合SV Checker精准捕捉硬件问题(如DMA读取脏缓存行)。特别强调验证方法论:C用例负责复杂行为模拟,SV专注RTL正确性检查;利用Linux天然并发性暴露硬件缺陷。手册还包含模拟面试攻防技巧,指出验证架构师需具备定义Stimulus/Checker边界的能力。终极判断标准:未通过Linux下Cache+DMA+SMP+中断测

元直的博客 1370

Android开发,设置闹钟提醒

当我们在闹铃设置界面设置闹铃时间+日期之后,当时间达到闹铃设置的时间,就跳转到闹铃页面。在这里使用MediaPlayer来播放音频,代码都写了非常想起的注释,就不单独讲啦。这里布局很简单,就简单显示一句话。闹铃页面重点是在于播放音频,达到提醒用户的效果。下,默认raw是没有这个文件夹的,新建文件夹就好啦,如下图所示。cancelAlarm 方法。setAlarm方法。

商城app+新闻app+备忘录记事本app视频教程在某站【浩宇软件开发】 2501

SAP_MM模块通过CC11 创建物料版本

通过本文,我们了解了 SAP 的[SAP_MM模块通过CC11 创建物料版本]的基本概念和应用方法。当物料主数据、BOM(物料清单)、工艺路线等对象需要进行变更控制时,通过创建“版本”或“更改单”来记录、控制和追溯变更。创建完变更主记录(Change Number)后,可在物料主数据维护时引用它,从而创建物料版本化信息。,在其中可以定义物料、BOM、工艺路线等对象的变更版本信息,从而在系统中实现版本化的物料管理。

我小时候很黑的博客 816

android 设置闹钟及通知

简单说一下这次demo内容,首先做一个设置一次性闹钟,先得到alarmManager,打开一个时间对话框,在里面设置闹钟的时间,时间一到发送广播,然后广播接受者接到跳转到新的activity播放音乐。接着是一个反复闹钟,最后是一个简单的通知,具体代码如下:import android.app.AlarmManager; import android.app.Notification; import

cnhn_ghq的博客 1365

PyCharm配置SSH远程解释器第3步时弹框报错:com.google.gson.stream.MalformedJsonException: Expected value at l...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1928

CLASSB类移植(满足IEC 60730-1和60355-1标准)

针对软件认证需要满足IEC 60730-1和60335-1标准,ST公司专门提供的软件扩展包X-CUBE-CLASSB,它包含自测库和文档,支持多种STM32系列芯片,通过预集成测试库和标准化流程,帮助开发者快速满足国际安全标准,适用于家电、工业控制等高可靠性场景。ClassB软件包程序检测内容分为两个主要部分:启动时的自检和运行时的周期自检,MCU在上电的时候会进行复位启动,在启动完成以后会进行运行自检。

m0_61973119的博客 1402

android 拦截闹钟通知,在闹钟接收器上设置通知android

在我的android应用程序中,我想以编程方式设置alaram。 设置闹钟工作正常,但我如何应用通知来接收闹钟。在闹钟接收器上设置通知android我已经通过开发人员指南中的通知。请找到代码。Calendar cal=Calendar.getInstance();Intent alaram=new Intent(Alarmmanager.this,GroupsCheckAlarmReceiver....

weixin_42314448的博客 253

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

android值制作简易的闹钟和通知栏信息

1.制作一次性闹钟 2.制作周期闹钟 3.制作通知信息的弹出框 首先来一个闹钟思维导图吧 简单的思路: 设置(MainActivity)----------->广播接受者(RingReceiver)------------>响铃(RingActivity)---------->设置(MainAcitvity) 再来一个通知的思维导图 代码如下,

YDCookie的博客 747

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Android 实现闹钟以及通知

展示效果图: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main

zxj1171141336的博客 1888

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

android 隐藏闹钟通知,Android 使用AlarmManager和NotificationManager来实现闹钟和通知栏...

实现闹钟运行的效果如下:通知栏的运行后效果图如下:布局文件(activity_main.xml)xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main"android:layout_width="match_parent" android:layout_height="match_parent"an...

weixin_42347415的博客 352

29.Android-闹钟-通知(定时操作)

一.知识概要 二.具体代码实现如下: 布局文件 activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xm

_北冥有鱼_的博客 1040

Android之简易的闹钟和通知

1.首先闹钟分两种,一种是一次性的,还有一种就是周期性的。2.简易的通知。package com.thm.thm_android_alarm_notification;import android.app.AlarmManager; import android.app.Notification; import android.app.NotificationManager; import andr

qq_32920803的博客 703

android 接收闹钟广播,android 设置闹钟及通知示例

简单说一下这次demo内容,首先做一个设置一次性闹钟,先得到alarmManager,打开一个时间对话框,在里面设置闹钟的时间,时间一到发送广播,然后广播接受者接到跳转到新的activity播放音乐。接着是一个反复闹钟,最后是一个简单的通知,具体代码如下:import android.app.AlarmManager;import android.app.Notification;import a...

weixin_33132251的博客 1134

android实现闹钟与通知栏

android实现闹钟与通知栏,闹钟主要用到了AlarmManager,在这里我做了一个拐弯,当闹钟设置时间到了后,先跳转到广播,再又广播跳转到闹钟响起界面,结果如下 首先是activity_alarm.xml布局<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.

ying.long 2368

Android (闹钟和通知栏的设置)

在界面上得有三个按钮,一个为 设置闹钟的开始时间 setAlarmWeek,一个为取消闹钟的按钮 cancelAlarmWeek, 一个发送通知的按钮 sendNotification。 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=

JHandYY的博客 930
上一篇: 视频播放与拍照
下一篇: Android解析XML(PULL)与Android解析Json
XHui_Lin
博客等级 码龄10年 27粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值