android 接收闹钟广播,Android获取第三方闹钟的闹铃信息
闹铃信息采集
闹铃时间,闹铃备注信息
闹铃引起系统变化的点:
1. Send Notification
2. Play Ring
闹铃信息结构体
ClockInfo{
String apkName;
String startTime;
String backup;
boolean isPlayingRing;
}
SendNotification
SystemUI
BaseStatusBar.java
解析ExpandedView,获取Clock发送的Notification.因为在BaseStatusBar里显示Notification时,不能够确认是否在播放铃声,所以isPlaying=false.将获取的Clock information 通过广播发送到服务端.
闹铃信息:{
apkName;
startTime=****;
backup=****;
isPlayingRing=false;
}
Play Ring
MediaPlayer
MediaPlayer.java
当产生Clock时,会调用MediaPlayer.start()方法播放铃声。在调用start()方法里,创建ClockInfo,然后通过广播发送到服务端。
闹铃信息{
apkName=**;
startTime=****;
backup=Empty;
isPlayingRing=true;
}
为什么需要在两个地方创建ClockInfo?
1.正点闹钟可以设置不发送Notification。这时只能获取到它调用MediaPlayer.start()方法。
2.调用MediaPlayer.start()方法不能获取到Notification的内容。为了尽量获取到Clock的backUp信息,需要同时在StatusBar里获取ClockInfo。
3.正点闹钟和即时提醒会在StatusBar中显示下一个闹钟,此时并不是闹铃事件。所以需要同时根据MediaPlayer.start()产生的闹铃信息判断。
存储结果
服务端接收到收集Clock information的广播后,解析里面的clock information,并存储到Local database.
Media start
apkName =**, startTime=***,backup= ,isPlayingRing=true;
StatusBar
apkName=**, startTime=***, backup=****,isPlayingRing=false;
当存储StatusBar发送的ClockInfo时,会判断:
一定时间间隔内是否存在 apkName=** and backup=Empty andisPlayingRing=true;
如果存在
更新已经存在的backup内容。
当存储Media发送的ClockInfo时,会判断:
一定时间间隔内是否存在apkName=** and backup !=Empty andisPlayingRing=false;
如果存在设置isPlaying=true;
原文:http://blog.csdn.net/longwuxu/article/details/25778219
android 接收闹钟广播,Android获取第三方闹钟的闹铃信息相关推荐
- android接收蓝牙广播,android – 如何使用广播接收器检测蓝牙状态更改?
就权限而言,为了检测蓝牙的状态变化,您需要将其添加到您的AndroidManifest.xml中. 示例接收器将如下所示,您将此代码添加到要处理广播的位置,例如: private final Broa ...
- android 获取 第三方应用,android PackageManager的使用如何获取第三方应用程序(包)的信息,求大神指点...
我只写出了系统的应用程序(包)的信息,第三方的没有出来,怎么办,求解 public class MainActivity extends Activity { List appInfos; @Over ...
- android 接收来电广播,android中未接来电的广播接收器
Joe.. 11 您需要使用ContentObserver public class MissedCallsContentObserver extends ContentObserver { publ ...
- android第三方闹钟开发,Android获取第三方闹钟的闹铃信息
收集闹铃信息 闹铃时间,闹铃备注信息 闹铃引起系统变化的点: 1. Send Notification (正点闹钟可以设置不发送) 2. Play audio 闹铃信息结构体 ClockInfo{ S ...
- android 接收闹钟广播,android 设置闹钟及通知示例
简单说一下这次demo内容,首先做一个设置一次性闹钟,先得到alarmManager,打开一个时间对话框,在里面设置闹钟的时间,时间一到发送广播,然后广播接受者接到跳转到新的activity播放音乐. ...
- android 定时响铃,Android 中利用广播接收器(BroadCastReceiver)来接收定时响铃的闹铃信息...
刚开始做东西得时候很不了解android中一些组件的应用方法,找了一个闹钟的小例子来更好的理解广播的接收. 应用程序的界面是这样的,这个例子是用闹钟的制定与解除来穿插broadcast Receiv ...
- android充电状态广播,Android 获取电池是否充电状态、充电器类型
0. demo 下载 https://github.com/sufadi/BatteryInfo 1. 电池广播获取充电状态 // 电池状态 import static android.os.Batt ...
- android接收不能广播,【11-16求助】急急急,service中无法接收广播!
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 package com.exp; import android.app.Activity; import android.content.Broadcas ...
- android检查usb广播,Android 检测USB 音频设备
1.广播检测USB 音频设备 注册广播: "android.hardware.usb.action.USB_DEVICE_ATTACHED"; "android.hard ...
最新文章
- 升余弦滤波器与根升余弦滤波器
- 安全用电基本知识,弱电工程人员要学会!
- java怎么编写软键盘_安卓手机软键盘操作
- 洗衣机,数据挖掘的物理模型
- c++——优先队列(priority_queue)
- Android訪问网络,使用HttpURLConnection还是HttpClient?
- 吴恩达机器学习学习笔记第七章:逻辑回归
- 华为MA5200G实现radius认证登陆
- iOS开发-OC语言 (七)继承、多态、类别
- 大学生数学建模赛题解析及优秀论文-2021电工杯A题高铁牵引供电系统运行数据分析及等值建模(附Python代码)
- c语言从入门到秃头表情包,c语言从入门到放弃表情包 - c语言从入门到放弃微信表情包 - c语言从入门到放弃QQ表情包 - 发表情 fabiaoqing.com...
- JMeter proxy server
- trajan算法(离线做法) LCA详解
- ICPC2021第一场网络预选赛A题
- 【信息检索】词典、倒排记录表和容错式检索
- Python socket文件上传下载
- onlyoffice安装之二:centos7安装
- 航天信息多个税盘一台电脑上一键迁移恢复免重复安装工具
- 程序员请尊重前辈的代码
- 迅驰时尚盛典,果然不错!
热门文章
- 数据可视化——R语言ggplot2包绘制相关矩阵为热图
- 硬皮病 中医疗法大全
- 自锁时间电路plc_PLC中有自锁功能,请问自锁使什么意思?
- 【GAN ZOO阅读】Generative Adversarial Nets 生成对抗网络 原文翻译 by zk
- 工作流初始错误 泛微提交流程提示_泛微OA用户操作手册.pdf
- CCKS2020事理图谱应用工作:刘焕勇等.面向开放文本的逻辑推理知识抽取与事件影响推理探索
- 做数据分析多年了,复制粘贴是我最牛逼的技能,直到看到这些公众号
- 播放器/短视频 SDK 架构设计,点播服务 (Demo)
- ava web 开发过程中常见的一些错误
- 电脑电源怎么选择,备战40系功耗升级之战