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

Visual SLAM算法笔记

最近在学习SLAM算法,这里作为阅读笔记记录和总结一下。对经典的单目SLAM/VO算法做了摘要和总结,比如Nister VO、MonoSLAM、PTAM、ORB-SLAM、LSD-SLAM、SVO、DSO等,对几个单目和IMU的融合算法也做了简单总结,比如MSCKF、OKVIS、IMU-Preintegration等。

MulinB的技术博客 3万+

KITTI数据集下载及解析

KITTI数据集下载及解析 版本 更新时间 更新内容 作者 1 V 1.0 xxx 完成主体内容 W. Xiao 2 文章目录KITTI Dataset1 简介1.1 数据采集平台1.2 坐标系2 数据解析2.1 image文件2.2 velodyne文件2.3 calib文件2.4 label文件3 KITTI可视...

u013086672的博客 5万+

android 自定义闹钟通知提醒

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

weixin_36124208的博客 418

避坑指南:CesiumLab+ENVI处理Sentinel-2影像数据的完整流程

本文提供了一份详细的避坑指南,完整介绍了如何利用CesiumLab和ENVI工具链,将Sentinel-2卫星影像处理成可供Cesium三维地球引擎加载的离线瓦片数据。内容涵盖数据获取、SNAP预处理、ENVI影像增强合成以及CesiumLab切片配置等全流程实战步骤与关键参数优化,旨在帮助工程师高效构建自主可控的高精度离线地图服务。

weixin_29248653的博客 289

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

告别纯代码:用Visual Studio为LabVIEW封装一个‘即插即用’的海康VisionMaster控件

本文介绍如何利用Visual Studio为LabVIEW封装一个‘即插即用’的海康VisionMaster控件,解决传统集成方式中的代码臃肿和维护困难问题。通过.NET控件封装核心功能,实现LabVIEW与VisionMaster的高效对接,显著提升工业自动化开发效率。

weixin_33744854的博客 505

MATLAB使用贝叶斯网络bnt工具箱:使用手册详解

MATLAB使用贝叶斯bnt网络工具箱:使用手册详解

WW、forever的博客 2676

Android开发,设置闹钟提醒

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

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

Qt 调用YOLO模型(代码)

本文介绍了如何在 Qt C++ 环境中集成 YOLO 模型进行目标检测,包括模型封装、界面设计和实时处理等关键步骤。通过这种方法,你可以快速开发出具有目标检测功能的 Qt 应用程序,应用于监控系统、机器人视觉、图像分析等多个领域。

轩宇的博客 259

android 设置闹钟及通知

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

cnhn_ghq的博客 1365

微信小程序 - 最新详细实现用户保存下载视频到手机相册,将视频临时路径、在线播放地址(网络路径)URL存储到手机,弹出访问手机相册权限询问,支持视频格式mp4、avi、mov、wmv、flv、webm

微信小程序,视频,手机相册,保存,另存为,小程序保存到相册权限,writePhotosAlbum,一键保存视频到手机相册功能(视频来源为链接),第一次要获取用户授权,授权使用相册权限,小程序视频下载,如何把视频下载到相册,下载一个视频到本地相册,显示下载进度,可取消下载,视频下载到本地,微信小程序视频如何下载,保存视频到相机,页面播放视频并下载到本地,安卓系统,苹果ios保存到相册报错,权限拒绝后打不开,添加相册授权弹框拒绝后再也出不来了,实现保存视频到手机相册功能,将mp4在线视频下载并存储到用户的手机中

🏆 前端领域优质创作者 7623

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

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

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

weixin_42314448的博客 253

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

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

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

YDCookie的博客 747

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

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

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、付费专栏及课程。

余额充值