android:如何触发长按电源菜单(shutdown / reboot / etc)

时间:2013-06-17 17:40:55

标签: android

我想了解是否有办法触发电源菜单,就像用户长按电源按钮一样。我可以是root /系统应用程序,因此可能不适用正常的安全限制。

我要做的是在按下电源时防止屏幕睡眠,但保持长按电源菜单。我能够保持PREVENT_POWER_KEY权限,这允许您捕获关键事件KEYCODE_POWER,但也完全禁用正常的电源按钮行为。这引出了我原来的问题:如何手动触发Android电源菜单。

我能够在android源代码中跟踪这个:GlobalActions.java。如果我正确地阅读了这些内容,看起来这段代码会以编程方式创建GlobalActionsDialog。这堂课不公开。我的假设是,我运气不好,但只是检查是否有人知道解决方法。

短路不可避免的“你不想那样做”的答案,这是针对自定义设备+ ROM。

感谢。

1 个答案:

答案 0 :(得分:0)

我刚刚看了一下平台源代码。我担心这是不可能的。长按电源键是由WindowManagerService处理的,由输入服务直接给出输入。我甚至尝试过一种厚颜无耻的方式来使用反射来获得Binder但没有运气。你无法达到你所需要的,并采取行动。即使像Commonsware建议的伪装输入也不合适,因为它被注入了这个级别以上。