社区
Android
帖子详情
黑屏时监听音量键
lide14
2012-06-28 01:01:36
遇到一个奇怪的问题
改动的是framework层,PhoneWindowManager.java里面的interceptKeyBeforeQueueing方法来实现监听音量键,具体实现函数也在这个文件中(实现播放一段音乐)
黑屏时,若插着USB线或者听音乐,则按音量键会生效
否则按键失效,使用systemlog也没有按键信息,但是会有power键信息(黑屏时按power)
急求解决方法
...全文
592
12
打赏
收藏
黑屏时监听音量键
遇到一个奇怪的问题 改动的是framework层,PhoneWindowManager.java里面的interceptKeyBeforeQueueing方法来实现监听音量键,具体实现函数也在这个文件中(实现播放一段音乐) 黑屏时,若插着USB线或者听音乐,则按音量键会生效 否则按键失效,使用systemlog也没有按键信息,但是会有power键信息(黑屏时按power) 急求解决方法
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
行者历程
2014-03-29
打赏
举报
回复
楼主有解决这个问题吗 我现在和你的情况一样 望告知 谢谢
guofeng007
2012-12-25
打赏
举报
回复
楼主解决了没有呢?
thl789
2012-07-05
打赏
举报
回复
只能vol连接的是能唤醒CPU的引脚(查processor的spec),否则软件是没办法的
jxj141
2012-07-05
打赏
举报
回复
thl789回答是对的,这是休眠下是没有办法的,除非
1、v+/v-能够唤醒cpu。
2、你的应用不让系统休眠。
lide14
2012-07-05
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
引用 6 楼 的回复:
唤醒通常会是以下的几种原因:
1)来电:如果是来电,那么Modem会通过发送命令给rild来让rild通知WindowManager有来电响应,这样就会远程调用 PowerManagerService来写"on" 到 /sys/power/state 来执行late resume的设备,比如点亮屏幕等。
2)用户按键:用户按键事件会送到WindowManager中……
[/Quote]
你说的没错...我抓log黑屏的时候根本就不走windowmanager!怎么才能让vol键唤醒CPU呢?我尝试跟一键亮屏的代码,没跟到
thl789
2012-07-03
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
唤醒通常会是以下的几种原因:
1)来电:如果是来电,那么Modem会通过发送命令给rild来让rild通知WindowManager有来电响应,这样就会远程调用 PowerManagerService来写"on" 到 /sys/power/state 来执行late resume的设备,比如点亮屏幕等。
2)用户按键:用户按键事件会送到WindowManager中,WindowManager……
[/Quote]
不知道你是从网上哪里找的。
只改WindowManager这一层应该是做不到的,你引述的那两个原因,不是根本的,那两个的前提是CPU已经被唤醒工作了,不然程序根本就不会跑,那有什么软件能执行逻辑判断。
lide14
2012-07-03
打赏
举报
回复
唤醒通常会是以下的几种原因:
1)来电:如果是来电,那么Modem会通过发送命令给rild来让rild通知WindowManager有来电响应,这样就会远程调用 PowerManagerService来写"on" 到 /sys/power/state 来执行late resume的设备,比如点亮屏幕等。
2)用户按键:用户按键事件会送到WindowManager中,WindowManager会处理这些按键事件。按键分为几种情况,如果案件不是唤醒键(能够唤醒系统的按键) 那么WindowManager会主动放弃wakeLock来使系统进入再次休眠;如果按键是唤醒键,那么WindowManger就会调用 PowerManagerService中的接口来执行 Late Resume。Late Resume会依次唤醒前面调用了Early Suspend的设备.
在网上找到的,我试试改下WindowManager这一层
lide14
2012-07-03
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
系统休眠,AP CPU都不工作了,所有AP上的软件当然也不工作。只有特定的按键(例如Power键)、BP(来电话、来短信)或者时钟(关机闹铃,需要硬件支持)才可以唤醒AP,AP才开始工作。
所以,
休眠后,Power键有响应,Vol+/-无反应。
而插着USB线或者听音乐时,系统不会休眠,当然Vol+/-也就能正常生效。
[/Quote]
那我这边做什么操作可以实现休眠时的vol键操作?改驱动可以吗?
sevenisgood
2012-07-01
打赏
举报
回复
你能监听power键??能share一下吗??
thl789
2012-07-01
打赏
举报
回复
系统休眠,AP CPU都不工作了,所有AP上的软件当然也不工作。只有特定的按键(例如Power键)、BP(来电话、来短信)或者时钟(关机闹铃,需要硬件支持)才可以唤醒AP,AP才开始工作。
所以,
休眠后,Power键有响应,Vol+/-无反应。
而插着USB线或者听音乐时,系统不会休眠,当然Vol+/-也就能正常生效。
thl789
2012-07-01
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
黑屏下,系统休眠,音量键唤醒cpu,但是按键还没上报,系统又休眠。需要驱动加wake-lock。
[/Quote]
系统休眠是对的,后面的说法就不对了
jxj141
2012-06-29
打赏
举报
回复
黑屏下,系统休眠,音量键唤醒cpu,但是按键还没上报,系统又休眠。需要驱动加wake-lock。
凌波多媒体电子教室
音量
设置:凌波多媒体教学网软件可以在教师端,统一设置学生电脑的录音、放音的
音量
; 点名签到:教师可以通过让学生签到来实现对学生进行考勤记录; 班组管理:非常强大的班级、小组、学生和电脑管理机制,无须...
Android锁屏状态获取
音量
按
键
事件
要在锁屏状态或后台获得
音量
按
键
事件,可以通过判断
音量
值的改变来判断是否按下了
音量
键
。实现的具体思路是: 开一个子线程,持续判断当前
音量
值和之前
音量
值是否一致,如果不同说明按下了
音量
键
,并且重置
音量
值,...
Android Framework中实现
音量
键
唤醒屏幕功能
Android Framework是构建在Android操作系统上的应用程序框架,它提供了一系列的API和服务,用于开发...首先,我们需要在系统服务中添加一个新的功能,用于
监听
音量
键
的按下事件并唤醒屏幕。步骤3:重启设备并测试。
Android锁屏或灭屏状态下,快速按两次
音量
下
键
实现抓拍功能(1.1Framework层使用广播形式实现)
实现思路: WindowManagerService循环读取下面按
键
...因此该实现方式为在消息分发前的interceptKeyBeforeQueueing方法中
监听
当前按
键
为
音量
下
键
,如果当前状态为锁屏状态,并按
键
为
音量
下
键
,且两次按
键
间隔
时
间小于
android 实现息屏状态下物理按
键
的
监听
想实现在息屏状态下的按
键
监听
,由于原来的onkeydown事件在activity中,当息屏的
时
候就不会做出响应,有没有什么办法来实现这种
监听
啊,求指导,还有就是在博客中搜到一篇文章//... 讲的是通过framework层开发,发送...
Android
80,468
社区成员
91,382
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章