Android环境下接收系统灭屏广播遇到延时问题的一个解决方法

在Android开发中,监听SCREEN_OFF广播实现灭屏暂停播放功能时遇到广播延迟,导致屏幕熄灭后视频仍继续播放。通过查看View源码,发现可以重写onScreenStateChanged方法实时获取屏幕状态变化,从而解决延迟问题。自定义View并实现回调方法,以在屏幕状态改变时立即响应。
摘要由CSDN通过智能技术生成

-- By Zhongxiang.huang


问题描述:

    Android屏幕灭屏与亮屏时会分别发送两个广播SCREEN_ON和SCREEN_OFF,这两个action通过代码的形式注册广播接收器能被监听到。

    笔者在某个视频应用的项目开发过程中就有用到,监听SCREEN_OFF广播消息,实现灭屏暂停播放功能。但是在使用过程中发现,该广播存在延时的情况,严重的时候延时了两三秒之久,这就会导致一个问题:屏幕熄灭了,视频还在播放,过两三秒后声音才停止。

 

解决方案:

    查看View的源码,于是找到了如下方法:

/**

 * This method is called whenever thestate of the screen this view is

 * attached to changes. A state changewill usually occurs when the screen

 * turns on or off (whether it happens automatically or the user does it

 * manually.)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值