《SystemUI》限制低电量打开手电筒
2019独角兽企业重金招聘Python工程师标准>>>
任务:当电流低于16%的时候,关闭手电,并且在提醒用户不能打开。
监听电量,实现关闭手电
手电图标实现在FlashlightTile.java
监听电量,一般会使用广播,但是SystemUI BatteryController注册了电量广播,可以利用BatteryController里面有相关的操作监听,
当电量低于16%,不能打开手电筒,并弹出提示框
当电量低于16%,如果手电筒处于开启状态,关闭手电筒。
public class FlashlightTile extends QSTileImpl<BooleanState> 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);
+ }
+ }
+ }
}
转载于:https://my.oschina.net/u/920274/blog/3007267
《SystemUI》限制低电量打开手电筒相关推荐
- java 手电筒_《SystemUI》限制低电量打开手电筒
任务:当电流低于16%的时候,关闭手电,并且在提醒用户不能打开. 监听电量,实现关闭手电 手电图标实现在FlashlightTile.java 监听电量,一般会使用广播,但是SystemUI Batt ...
- android 低电量卡,Android中低电量的处置方法
前段时间解了个Bug:Android系统在低电时充电,StatusBar上的充电图标不会变化,始终显示的是同一个图标 当时没有来得及整理,现在补一下 电池电量信息是从BatteryService中通过 ...
- android低电量模式吗,Android P 省电模式(LowPowerMode)(二) ------ 省电行为
在上篇文章Android P 省电模式(LowPowerMode)(一) ------ 省电模式手动开启流程 中最后分析到,开启省电模式后,会在 BatterySaverController 中回调所 ...
- android低电量提示,Android4.4开发之电池低电量告警提示原理与实现方法分析
本文实例讲述了Android4.4电池低电量告警提示原理与实现方法.分享给大家供大家参考,具体如下: 之前版本的电池电量低是通过发送 intent ACTION_BATTERY_LOW来实现的,而在a ...
- android 低电量卡,Android11 增加低电量通知
修改shouldSendBatteryLowLocked判断条件. //frameworks\base\services\core\java\com\android\server\BatterySer ...
- android 低电量,如何在Android设备中模拟低电量
默认情况下,模拟低电量是不知道的(如果您使用eclipse作为im). 但是如果你在linux中,你可以使用telnet连接到本地主机模拟器并执行'Power'动作(没有使用它们也许你可以试试) ht ...
- Android 10.0增加低电量弹窗
在做定制化开发中,对于低电量提醒的功能,系统会在状态栏中弹出通知进行提示,但是如果隐藏了状态栏 就看不到提示了 所以客户要求增加个低电量弹窗功能 发现在SystemUI里面.发现SystemUI涵盖的 ...
- android 低电量模式吗,iPhone一直开着低电量模式会怎么样?
相比Android上那些五花八门的省电技巧来说,iOS系统的省电方法很简单:"打开低电量模式,完."在这个模式下,系统会通过减弱或者关闭一些功能如:电子邮件获取.嘿Siri.后台应 ...
- 如何检测iPhone设备处于低电量模式
在iOS9中,苹果为iPhone增加了低电量模式,开启低电量模式后,系统会为了节约电量而停止一些耗电的行为,例如接收邮件,通过Hey Siri唤起,后台消息推送等. 很重要的一点是系统不会为用户自动打 ...
最新文章
- mybaits的模糊查询_mybatis模糊查询防止SQL注入(很详细)
- 【从零学习OpenCV 4】Mat类构造与赋值
- 8086_显存相关知识
- SAP UI5 应用开发教程之六十二 - 基于 OData V4 的 SAP UI5 表格控件使用方法介绍试读版
- PHP函数之HTMLSPECIALCHARS_DECODE
- 2017年度中国专利代理十强
- 在HTML5中,用getCurrentPosition()获取用户的当前位置
- Memcached原理与应用
- 迅雷赚钱宝变砖TTL修复教程赚钱宝刷机
- 使用DroidCam将手机作为PC的摄像头
- 计算机用户文件夹加密,如何加密文件夹?手把手教你给文件夹加密方法
- cookie的工作原理、cookie的重要性
- 大学c语言机试是老师阅卷么,最近,我们找了一些老师聊了聊
- Unity子物体脱离父物体,解除父子关系,子物体不随父物体移动
- goto加密php,PHP文件解密求大神思路,PHP加密后有大量goto语句
- html5 统计图 等值线,等值线及图表信息的判读5.doc
- 官能化poss甲基丙烯酰氧丙基笼型聚倍半硅氧烷
- 二分图 恶补定义!!!
- html条码枪响应慢,条码扫描枪使用时的常见问题
- 【20220501】众人眼中的架构师