Android得到一个闹钟在第三方
收集报警信息
闹铃时间,闹铃备注信息
闹铃引起系统变化的点:
1. Send Notification (正点闹钟能够设置不发送)
2. Play audio
闹铃信息结构体
ClockInfo{
String apkName;
String startTime;
String backup;
}
SendNotification
SystemUI
BaseStatusBar.java
在BaseStatusBar获取闹钟发送的notification。由于某些第三方闹钟(比方:正点闹钟)发送的notification并不表示闹铃事件,这时须要推断系统是否正在播放闹铃。
怎样推断系统是否正在播放闹铃:
Android AudioManager.java里有一个方法
/**
*
*Checks whether any music is active.
* @return true if any music tracks are active.
*/
public boolean isMusicActive() {
return AudioSystem.isStreamActive(STREAM_MUSIC, 0);
}
用来Checks whether any music is active.
注意AudioSystem.isStreamActive(STREAM_MUSIC,0),这里方法的STREAM_MUSIC參数,用来表示当前stream type.而对于闹铃应用一般的stream type 是STREAM_ALARM.为了
Checks whether any alarm is active 或者check other stream type is active,在AudioManager添加方法:
* Checks whether the specified stream type is active.
* return true if this stream is active.
public boolean isStreamActive(intstream){
return AudioSystem.isStreamActive(stream,0);
}
AudioManager audioManager =(AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
Log.e(TAG, "Failed to get AudioManager");
if (!audioManager.isStreamActive(AudioManager.STREAM_ALARM)
&& !Common.DIANXIN_PACKAGENAME.equals(currentPackageName))
"Stream not active and current package name isn'tdianxin");
if (!audioManager.isStreamActive(AudioManager.STREAM_ALARM)
&& !Common.DIANXIN_PACKAGENAME.equals(currentPackageName))
"Stream not active and current package name isn'tdianxin");
版权声明:本文博主原创文章。博客,未经同意不得转载。
Android得到一个闹钟在第三方相关推荐
- ismusicactive副作用_Android得到一个闹钟在第三方
收集报警信息 闹铃时间,闹铃备注信息 闹铃引起系统变化的点: 1. Send Notification (正点闹钟能够设置不发送) 2. Play audio 闹铃信息结构体 ClockInfo{ S ...
- Android开发一个闹钟
最新2019年10月7日(趁着国庆有时间)更新了一波,界面好看了很多,但还是有很多地方不完善,以后抽时间再次更新 不完善的地方: 不能同时开多个闹钟,这个有点困难,有想法的同学可以告我怎么做 后台程序 ...
- 【Android NDK 开发】NDK 交叉编译 ( Ubuntu 中交叉编译动态库 | Android Studio 中配置使用第三方动态库 )
文章目录 I . 动态库 与 静态库 II . 编译动态库 III. Android Studio 使用第三方动态库 IV . Android Studio 关键代码 V . 博客资源 I . 动态库 ...
- android闹钟测试工具,android开发:AlarmManager闹钟管理器的实例
1.AlarmManager,顾名思义,就是"提醒",是Android中常用的一种系统级别的提示服务,在特定的时刻为我们广播一个指定的PendingIntent.通俗点,就是设置一 ...
- (转载)Android studio 导入或依赖第三方库失败
Android studio 导入或依赖第三方库失败 原文链接 在使用第三方库的时候,需要添加很多仓库,以保证可以能正确快速的下载到我们所需要的类库,但是经常会出现各种问题. 以下为个人问题总结 首先 ...
- android迷宫图像生成,Android - 绘制一个迷宫,以平滑的角色移动的画布
我目前正在创建一个基于Tile的游戏,它基本上使用2套布尔值数组绘制一个迷宫,以确定每个墙壁需要绘制的位置.Android - 绘制一个迷宫,以平滑的角色移动的画布 我有这个所有的工作,因为它应该只有 ...
- Android闹钟最终版【android源码闹钟解析】
我以前写了个复杂闹钟的demo,参见Android闹钟[复杂版][大明进化十五] .但是里面的bug有一些,好多人留言,所以我就看看源码,找找原因?顺便把源码代码整理出来,弄成一个完整的可以运行的ap ...
- Win7系统便签怎样设置一个闹钟提醒
Win7系统便签怎么设置一个闹钟提醒呢?在便签上设置提醒事项,还可以确定任务完成时间,让每一项任务都在规定时间内完成,杜绝拖延快速完成工作.想要在便签上设置提醒,首先要有一款会提醒的便签,还要了解在该 ...
- Android Proguard 不混淆所有第三方jar(忽略配置设置)
今天给大家分享一个只混淆自己的项目代码而不混淆所有第三方jar的方法(没错,是所有的第三方都不进行混淆,无论来什么第三方,都不需要动混淆配置) 不混淆所有第三方重大突破 今天又被同事逼迫看了一下Pro ...
最新文章
- RadioGroup,RadioButton 和CheckBox
- 在linux中输入locate出现locate: can not stat ()的错误
- Hbuilder----安装less插件(详细)
- 【转】IOS制作静态库
- lnmp化境开启pathinfo,支持tp5.0等访问
- javascript测试框架 Mocha 实例教程
- activity绑定service
- vim使用系列之二——总结一下自己常用的VIM操作
- python自定义异常_Python自定义异常
- 在线英英词典完整代码
- Map转换List一些方法
- 音频编码格式——AAC简介
- 去掉 新版GeForce Experience 桌面录制视频时的 右上角图标
- JAVA中如何计算文具店总费用,文具店的连锁属于。
- 国风雅韵之琴瑟(页面文章不知道放哪,于是放CSDN当跳转链接系列QWQ Sorry辣~)
- 自己编程实现抖音特效(Python)
- 初学者使用pdfmake详细教程
- 大数据专业怎么样?是什么?
- 红帽认证第一课 安装RHEL 8.X操作系统
- elasticsearch 版本 6.6 插入和查询数据