最近在开发一个有关相机的项目,有需求是根据光线的强度自动开启夜市(红外)的功能,但开发中发现如果熄屏后,则无法监听到光线强度变化。

下面是我的解决办法,

1、首先监听关屏的广播,如果正在录像的话,持有锁,使屏幕处于显示状态,不让其黑屏休眠,然后将屏幕亮度调整为0,相当于假熄屏,然后重写Activity的dispatchTouchEvent()方法,判断如果当前是假熄屏,则return true,不往下分发事件,防止用户误操作。

public class ScreenStatusReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (Intent.ACTION_SCREEN_OFF.equals(action)) { // 关屏

if(sta.IsRecording){
sta.mIsScreenOff = true;
Log.e("ACTION_SCREEN", "ACTION_SCREEN_OFF");
if (mTurnBackOn == null){
mTurnBackOn = mPwrMgr.newWakeLock(
PowerManager.SCREEN_DIM_WAKE_LOCK
| PowerManager.ACQUIRE_CAUSES_WAKEUP,
"AccelOn");
}
mTurnBackOn.acquire();
mHandler.postDelayed(new Runnable() {

@Override
public void run() {
WindowManager.LayoutParams lp = ((MainActivity) mContext).getWindow()
.getAttributes();
lp.screenBrightness = 0f;
((MainActivity) mContext).getWindow().setAttributes(lp);
}
},200);
}

}
}

}

2、监听按键onKeyDown()事件,将屏幕亮度调整为原来的亮度,

((MainActivity) mContext).getWindow().setAttributes(mLayoutParams);

然后释放锁mWakeLock.release();

解决熄屏后,无法监听到光感强度变化相关推荐

  1. 设置熄屏_华为手机熄屏后还能这样操作?你不知道就挺遗憾的!

    大家都知道华为手机上面有许多实用的功能,那么你们知道华为手机在熄屏后还能进行哪些操作吗? 不知道了吧,嘻嘻,下面我们就来一起看看吧. 熄屏快呼 手机熄屏状态后,还能打电话?熄屏时,长按手机音量下键,听 ...

  2. 华为用户要知道,手机熄屏后依旧能够使用的3个功能,不用可惜了

    华为手机的用户在国内手机用户的群体中,应该不算是少数,但是却很少有华为用户敢说自己对华为手机的功能全部都了若指掌.毕竟有些功能还是隐藏的比较深,那么小酱今天就来简单的和各位介绍下华为手机熄屏后依旧能够 ...

  3. 原来华为手机熄屏后,竟还有5大隐藏操作!看完涨知识了

    华为手机就可以说是国内最受用户欢迎的手机,凭借着良好的口碑和各类黑科技,吸引了一大批忠实的粉丝,那么作为忠实粉丝的你,知不知道华为手机熄屏后还有5个隐藏操作? 1.熄屏快拍 在熄屏状态下,我们只要连续 ...

  4. android 熄屏后socket,手机熄屏再唤醒后 websocket 的重连方法。

    使用websocket长连接进行实时通信,在制作客服聊天或是必要的数据实时更新需求中是很好的选择,毕竟轮询大家都懂的 但是websocket服务端通常为了保证资源的有效利用,会加入心跳机制,当超过心跳 ...

  5. 华为手机熄屏后依旧能够进行的3个操作,你都会用吗?不会真可惜

    华为手机熄屏后依旧能够进行的3个操作,你都会用吗?不会真可惜 华为手机在熄屏以后,大家是不是以为什么都做不了,要想重新使用手机,必须经过解锁才能够进行打电话或者拍照等其它操作,其实不然,华为手机熄屏后 ...

  6. 华硕电脑熄屏后,搜索不到无限网络,无法连接WiFi

    华硕电脑熄屏后,搜索不到无限网络,无法连接WiFi,每次都要重启电脑,太麻烦. 1.打开网络设置 2.更改适配器配置选项 3.启用WLAN(可能你的是开着的,先将网络禁用,再启用)

  7. 使用AlarmManager实现定时提醒,解决锁屏后无法正常唤醒CPU和屏幕的问题

    之前写过一个demo来实现定时操作,最近帮别人写项目的时候又用到了这个需求,于是coding起来. 首先来说一下我的实现思路:用户选择好闹钟提醒时间后我要启动一个Service,在这个Service里 ...

  8. android 熄屏后仍然可以点击,Android - 在不触发睡眠/锁定屏幕的情况下关闭显示屏 - 使用触摸屏打开...

    我一直在试图找到一种方法来关闭显示屏,并从用户触摸触摸屏时唤醒. 设备处于嵌入式环境中,其中设备是平板电脑,用户除了触摸屏外无法访问任何内容(根本没有按钮).Android - 在不触发睡眠/锁定屏幕 ...

  9. MacBookpro自动熄屏后过1小时再打开就自动关机了

    看了一些帖子 也给官网打电话了 系统偏好设置-安全性与隐私-解锁-高级,取消勾选 在X分钟不活跃后退出登录,但毫无任何用,在1小时后再打开还是已经关机... ​ 参考Previous Shutdown ...

最新文章

  1. Quartz.net官方开发指南 第二课:Jobs And Triggers
  2. Google的成果回报型广告
  3. linux nginx svn 更新前端代码
  4. 算法设计与分析-实验3
  5. 个人成长:2021年7月记
  6. Linux网络设备描述符,Linux
  7. 正则表达式的先行断言(lookahead)和后行断言(lookbehind)
  8. 关于Java中子类调用父类方法
  9. glog 编译报错 ERROR macro is defined. Define GLOG_NO_ABBREVIATED_SEVERITIES before including logging.h.
  10. MEF体验使用接口导出的优越性
  11. pcie routing
  12. 基于MATLAB OCR的发票识别系统
  13. Heuristic function
  14. 无人机多任务寻径仿真软件与实验平台(一)
  15. 深度学习:隐马尔科夫模型
  16. supervisor的使用教程
  17. Queuing HDU2604
  18. 极路由系列 刷机方法
  19. PUK 码提示区分SIM卡(identification of blocked SIM)
  20. MacBook Pro使用初体验之Mac快捷键汇总(持续更新中)

热门文章

  1. 网络计算机看不到本机,教你电脑本地连接不见了该怎么办
  2. Kubernetes 资源清单与Pod生命周期
  3. Android 8.1发送广播受限问题
  4. 17python_函数进阶
  5. python中的星号 *的特殊用法
  6. 斐讯AI音箱怎么绑定扫地机器人_《小米AI音箱“小爱同学”说明书plus:(二)自动控制扫地机器人》...
  7. 高通WLAN框架学习(1)- -WIFI的认证和log的抓取
  8. bootstrap时间选择器-datetimepicker
  9. 超详细的标准工时制定方法,不信你学不会
  10. 心已明了自己的坚定,我珍惜今日的情怀