java 手电筒_《SystemUI》限制低电量打开手电筒
任务:当电流低于16%的时候,关闭手电,并且在提醒用户不能打开。
监听电量,实现关闭手电
手电图标实现在FlashlightTile.java
监听电量,一般会使用广播,但是SystemUI BatteryController注册了电量广播,可以利用BatteryController里面有相关的操作监听,
当电量低于16%,不能打开手电筒,并弹出提示框
当电量低于16%,如果手电筒处于开启状态,关闭手电筒。
public class FlashlightTile extends QSTileImpl implements
FlashlightController.FlashlightListener ,
+ BatteryController.BatteryStateChangeCallback
{
private final Icon mIcon = ResourceIcon.get(R.drawable.ic_signal_flashlight);
private final FlashlightController mFlashlightController;
+ // add for PCAAO-1862
+ private int mLevel = 100;
+ private final int lowLevel = 16;
+ private final BatteryController mBatteryController;
+ // END.
public FlashlightTile(QSHost host) {
super(host);
mFlashlightController = Dependency.get(FlashlightController.class);
+ mBatteryController = Dependency.get(BatteryController.class);
}
@Override
public void handleSetListening(boolean listening) {
Log.i("FlashlightTile","handleSetListening "+listening);
if (listening) {
+ mFlashlightController.addCallback(this);
mBatteryController.addCallback(this);
} else {
mFlashlightController.removeCallback(this);
+ mBatteryController.removeCallback(this);
}
}
@Override
protected void handleClick() {
if (ActivityManager.isUserAMonkey()) {
return;
}
+ // add for PCAAO-1862
+ boolean flashLightEnable = mFlashlightController.isEnabled();
+ if (!flashLightEnable && mLevel <= lowLevel) {
+ SystemUIDialog dialog = new SystemUIDialog(mContext);
+ dialog.setTitle(R.string.airplane_dlg_title);
+ dialog.setMessage(R.string.flash_light_dlg_msg);
+ dialog.setPositiveButton(R.string.yes, null);
+ //dialog.setNegativeButton(R.string.cancel, null);
+ dialog.setShowForAllUsers(true);
+ dialog.show();
+ return;
+ }
+ // END.
boolean newState = !mState.value;
refreshState(newState);
mFlashlightController.setFlashlight(newState);
}
+ @Override
+ public void onBatteryLevelChanged(int level, boolean pluggedIn, boolean charging) {
+ mLevel = level;
+
+ //if
+ boolean flashLightEnable = mFlashlightController.isEnabled();
+ Log.i("FlashlightTile","flashLightEnable ,mState.value"+flashLightEnable+","+mState.value);
+ if (mLevel <= lowLevel && flashLightEnable && mState.value){
+ refreshState(false);
+ if(mFlashlightController!=null){
+ mFlashlightController.setFlashlight(false);
+ }
+ }
+ }
}
java 手电筒_《SystemUI》限制低电量打开手电筒相关推荐
- 《SystemUI》限制低电量打开手电筒
2019独角兽企业重金招聘Python工程师标准>>> 任务:当电流低于16%的时候,关闭手电,并且在提醒用户不能打开. 监听电量,实现关闭手电 手电图标实现在FlashlightT ...
- 安卓手电筒_将价值10美元的手电筒砍入超高亮高级灯中
安卓手电筒 If you're looking for a bright flashlight without paying an arm and a leg this simple hack mod ...
- android手电筒的源代码,Android,求打开手电筒最简练的代码
蜂之谷 public class MainActivity extends Activity implements View.OnClickListener { private ToggleBu ...
- 周志明:深入java虚拟机_虚拟面板:在低延迟环境中使用Java
周志明:深入java虚拟机 Java越来越多地用于低延迟工作,而以前的C和C ++早已成为Java的实际选择. InfoQ聚集了该领域的四位专家,讨论了驱动趋势的因素以及在这种情况下使用Java的一些 ...
- 高中学历可以学java么_初高中学历能学会Java吗,低学历能学Java吗?
初高中学历能学会Java吗,低学历能学Java吗? 2018-05-25 | 烟台 | 点击211次 | 信息编号:201792910194522310418856521472 很多人以为Java只有 ...
- 低电量自动关机_低电量时如何获得自动提醒以填充您的汽车油箱
低电量自动关机 Your gas light comes on right after you pass your favorite gas station on the way home. That ...
- 笔记本电脑任务栏电量_如何调整Windows 7笔记本电脑上的低电量操作
笔记本电脑任务栏电量 If you've got a netbook with really great battery life, you'll probably still have loads ...
- java打开jar文件怎么打开_后缀jar文件怎么打开 .jar文件如何打开
原标题:"详解jar文件怎么打开"相关系统教程分享. 在计算机中,jar是一种软件包文件格式,以zip格式为基础,以便开发Java平台应用软件或库.那么jar文件如何打开呢?今天, ...
- android 低电量卡,Android中低电量的处置方法
前段时间解了个Bug:Android系统在低电时充电,StatusBar上的充电图标不会变化,始终显示的是同一个图标 当时没有来得及整理,现在补一下 电池电量信息是从BatteryService中通过 ...
最新文章
- 外星人台式电脑_戴尔外星人Alienware m17笔记本19款真机评测
- ActiveReport的小数显示方法
- 05-WIFI通讯客户端搭建
- frp对http协议应用
- MyEclipse添加tomcat7出现“Value must be an existing directory”解决方案
- docker~aspnetcore2.0镜像缺少libgdiplus问题
- python爬取今日热榜数据到txt文件
- css实现页面标签的跳转
- 远不止三色,图片被压扁了,用Python的Tkinter做一个既高颜值又好用的计算器
- 常用英语命令(音标,释义)
- 安装DCOS,关于docker异常引发的调查
- 视频剪辑3.5版-一分钟生成上百个电影混剪视频
- python取出数组大于某值_Python替换NumPy数组中大于某个值的所有元素实例
- 使用lsof命令恢复已删除文件(正在使用的文件)
- 医院信息科结构化面试
- Mapped Statements collection does not contain value for XXX错误
- 【爬虫】python使用selenium抓取淘宝中的商品数据
- 系统架构设计笔记(13)—— 数据挖掘
- umi2升级到umi3
- 分布式、服务化的企业级 ERP 系统架构设计方案
热门文章
- java 微信提现(复制即用)
- spring boot 源码解析43-JmxMetricWriter详解
- 小时候,幸福很简单;长大后,简单很幸福!
- 学习使用PN532来复制IC门禁卡
- LTE 随机接入 --(1)流程
- 将文件从 Linux 传输到 Windows
- 牛逼!StarRocks 2.0正式发布,新一年,新启航,新极速!
- 谈谈国产FPGA现状
- 《2021大数据产业年度创新服务产品》榜重磅发布丨金猿奖
- lol国服维护可以玩别的服务器吗,LOL:除了艾欧尼亚,其他服务器都只能算是“郊区”吗?...