闹铃信息采集

闹铃时间,闹铃备注信息

闹铃引起系统变化的点:

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获取第三方闹钟的闹铃信息相关推荐

  1. android接收蓝牙广播,android – 如何使用广播接收器检测蓝牙状态更改?

    就权限而言,为了检测蓝牙的状态变化,您需要将其添加到您的AndroidManifest.xml中. 示例接收器将如下所示,您将此代码添加到要处理广播的位置,例如: private final Broa ...

  2. android 获取 第三方应用,​android PackageManager的使用如何获取第三方应用程序(包)的信息,求大神指点...

    我只写出了系统的应用程序(包)的信息,第三方的没有出来,怎么办,求解 public class MainActivity extends Activity { List appInfos; @Over ...

  3. android 接收来电广播,android中未接来电的广播接收器

    Joe.. 11 您需要使用ContentObserver public class MissedCallsContentObserver extends ContentObserver { publ ...

  4. android第三方闹钟开发,Android获取第三方闹钟的闹铃信息

    收集闹铃信息 闹铃时间,闹铃备注信息 闹铃引起系统变化的点: 1. Send Notification (正点闹钟可以设置不发送) 2. Play audio 闹铃信息结构体 ClockInfo{ S ...

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

    简单说一下这次demo内容,首先做一个设置一次性闹钟,先得到alarmManager,打开一个时间对话框,在里面设置闹钟的时间,时间一到发送广播,然后广播接受者接到跳转到新的activity播放音乐. ...

  6. android 定时响铃,Android 中利用广播接收器(BroadCastReceiver)来接收定时响铃的闹铃信息...

    刚开始做东西得时候很不了解android中一些组件的应用方法,找了一个闹钟的小例子来更好的理解广播的接收. 应用程序的界面是这样的,这个例子是用闹钟的制定与解除来穿插broadcast  Receiv ...

  7. android充电状态广播,Android 获取电池是否充电状态、充电器类型

    0. demo 下载 https://github.com/sufadi/BatteryInfo 1. 电池广播获取充电状态 // 电池状态 import static android.os.Batt ...

  8. android接收不能广播,【11-16求助】急急急,service中无法接收广播!

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 package com.exp; import android.app.Activity; import android.content.Broadcas ...

  9. android检查usb广播,Android 检测USB 音频设备

    1.广播检测USB 音频设备 注册广播: "android.hardware.usb.action.USB_DEVICE_ATTACHED"; "android.hard ...

最新文章

  1. 升余弦滤波器与根升余弦滤波器
  2. 安全用电基本知识,弱电工程人员要学会!
  3. java怎么编写软键盘_安卓手机软键盘操作
  4. 洗衣机,数据挖掘的物理模型
  5. c++——优先队列(priority_queue)
  6. Android訪问网络,使用HttpURLConnection还是HttpClient?
  7. 吴恩达机器学习学习笔记第七章:逻辑回归
  8. 华为MA5200G实现radius认证登陆
  9. iOS开发-OC语言 (七)继承、多态、类别
  10. 大学生数学建模赛题解析及优秀论文-2021电工杯A题高铁牵引供电系统运行数据分析及等值建模(附Python代码)
  11. c语言从入门到秃头表情包,c语言从入门到放弃表情包 - c语言从入门到放弃微信表情包 - c语言从入门到放弃QQ表情包 - 发表情 fabiaoqing.com...
  12. JMeter proxy server
  13. trajan算法(离线做法) LCA详解
  14. ICPC2021第一场网络预选赛A题
  15. 【信息检索】词典、倒排记录表和容错式检索
  16. Python socket文件上传下载
  17. onlyoffice安装之二:centos7安装
  18. 航天信息多个税盘一台电脑上一键迁移恢复免重复安装工具
  19. 程序员请尊重前辈的代码
  20. 迅驰时尚盛典,果然不错!

热门文章

  1. 数据可视化——R语言ggplot2包绘制相关矩阵为热图
  2. 硬皮病 中医疗法大全
  3. 自锁时间电路plc_PLC中有自锁功能,请问自锁使什么意思?
  4. 【GAN ZOO阅读】Generative Adversarial Nets 生成对抗网络 原文翻译 by zk
  5. 工作流初始错误 泛微提交流程提示_泛微OA用户操作手册.pdf
  6. CCKS2020事理图谱应用工作:刘焕勇等.面向开放文本的逻辑推理知识抽取与事件影响推理探索
  7. 做数据分析多年了,复制粘贴是我最牛逼的技能,直到看到这些公众号
  8. 播放器/短视频 SDK 架构设计,点播服务 (Demo)
  9. ava web 开发过程中常见的一些错误
  10. 电脑电源怎么选择,备战40系功耗升级之战