zhaoyufei133 2020-04-12 13:50 采纳率: 50%
浏览 792

安卓浅休眠后如何通过触摸唤醒?

我们调试的Amlogic T962E-7.1平台的的触摸屏产品
powerManager.goToSleep()后,系统会进入浅休眠,此时屏幕是熄屏的。网络是关闭的。通过串口打印可以看见,后台Service里的子线程还是一直在运行的。
此时按遥控的电源键和返回键是可以唤醒的,用户希望通过按触摸屏来唤醒。这个应该怎么做呢?
我看了网上的回答是修改:framework/native/service/inpuflinger/InputReader.cpp
里面

    // Initial downs on external touch devices should wake the device.
    // Normally we don't do this for internal touch screens to prevent them from waking
    // up in your pocket but you can enable it using the input device configuration.
   - mParameters.wake = getDevice()->isExternal();
    + mParameters.wake = true;
看注释的意思应该就是通过触摸唤醒屏幕的。RK3288-7.1修改这里后是可以触摸唤醒的,
但是Amlogic T962E 和 S912试过了,修改这个地方都不行。不知道是在哪里还做了处理
有知道怎么修改的大佬吗??
  • 写回答

1条回答 默认 最新

  • 大大怪打LZR 2023-08-13 21:45
    关注

    在Android系统中实现通过触摸屏唤醒设备需要考虑多个因素,包括硬件、驱动、系统设置等。从你的描述来看,已经尝试了修改InputReader.cpp中的代码,但在Amlogic T962E 和 S912平台上并没有生效。

    在这种情况下,你可能需要考虑以下几个方面:

    1. 硬件支持: 首先要确保硬件支持通过触摸唤醒设备。不同的硬件平台可能有不同的电源管理和触摸屏唤醒支持情况。

    2. 内核驱动: 触摸屏的驱动程序和内核模块可能会影响设备的唤醒行为。你需要查看设备的内核源代码,了解触摸屏驱动是否已经配置为支持触摸唤醒功能。可能需要修改内核配置或驱动代码来实现触摸唤醒功能。

    3. 设备配置: 设备的配置文件也可能影响触摸屏唤醒行为。除了你提到的InputReader.cpp中的修改外,还可能涉及其他配置文件。你需要检查设备配置,确认是否需要在其他地方进行配置修改。

    4. 固件和驱动更新: 如果你的硬件平台上的Android固件或驱动版本较老,可能会存在一些问题。尝试更新固件和驱动,看看是否有新的版本支持触摸唤醒功能。

    5. 调试工具: 你可以使用adb命令和dumpsys工具来获取更多关于设备状态和事件的信息。这些工具可能帮助你找到问题的根本原因。

    由于不同硬件平台和Android版本可能会有不同的配置和代码,上述建议可能需要根据具体情况进行调整。如果你不确定如何处理,请咨询设备制造商或开发社区的支持。

    评论

报告相同问题?

悬赏问题

  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码