【问题标题】:How to disable power button?如何禁用电源按钮?
【发布时间】:2011-11-07 12:46:11
【问题描述】:

是否可以覆盖 android 电源按钮的功能? 我想“禁用”电源按钮。我的计划是覆盖此按钮的功能以不执行任何操作({};) 那么我的主要想法是禁用关闭屏幕。

我希望当有人按下电源按钮时什么都不会发生。

我该怎么做?

【问题讨论】:

  • IMO 这不是好的行为。我会卸载执行此操作的应用程序。如果您想保持屏幕开启,您可以获取PowerManager.WakeLock
  • 我认为不可能。
  • 这似乎不是一个好主意。您可以阻止手机自动进入睡眠状态,但如果用户想要关闭屏幕,他应该能够做到。我知道我会因为应用程序这样做而非常生气。
  • 如果用户不希望这种行为,他/她根本不会安装应用程序。我的目标是制作能够延迟屏幕关闭几秒钟的应用程序,在关闭之前我想制作一些动画。

标签: android screen wakelock android-screen


【解决方案1】:

是否可以覆盖 android 电源按钮的功能?我想“禁用”电源按钮。

幸运的是,这是不可能的,除非通过自定义固件。

【讨论】:

  • 为什么不可能是“幸运”
  • @B.shruti:因为禁用电源按钮不是普通应用程序应该能够做到的。除此之外,它还可以让恶意软件更容易通过在安全模式下重新启动来阻止用户删除该恶意软件。
【解决方案2】:

它适用于 Cyanogenmod: http://review.cyanogenmod.com/#/c/18924/4/core/res/AndroidManifest.xml 你需要 android.permission.PREVENT_POWER_KEY 权限。

顺便说一句,一个很好的方案是将电源按钮用作相机快门按钮(如果设备没有专用按钮)。

Afaik系统应用可以正常拦截电源键。

【讨论】:

  • 无法访问此站点 :(
【解决方案3】:

尝试实现onKeyDown,如果给定的按键键码是KEYCODE_POWER,动作是ACTION_DOWN,紧随其后的是ACTION_UP,返回true(意味着你处理了这个按键)

【讨论】:

  • onKeyDown 在按下电源按钮时不会被调用 :(
  • 嗯……很奇怪。为什么他们有一个常数“KEYCODE_POWER”呢?检查并查看他们是否在那里提供任何信息。
  • 这样Android内部就可以使用了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多