黑屏时监听音量键

lide14 2012-06-28 01:01:36
遇到一个奇怪的问题
改动的是framework层,PhoneWindowManager.java里面的interceptKeyBeforeQueueing方法来实现监听音量键,具体实现函数也在这个文件中(实现播放一段音乐)
黑屏时,若插着USB线或者听音乐,则按音量键会生效
否则按键失效,使用systemlog也没有按键信息,但是会有power键信息(黑屏时按power)
急求解决方法
...全文
592 12 打赏 收藏 转发到动态 举报
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。

80,468

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧