好吧,我正在做一些我想要禁用设备的所有硬按钮的东西.
电源,家庭,音量增大,音量减小,搜索,返回等硬按钮.
我已经成功覆盖几乎所有的按钮,在这里除了电源.
所以我只是希望你们有人看到并请分享一些想法,这样我就能把它拿走.
我正在进行长按 Power keyevent onDispatchKeyEvent(),就像我想抓住同样的短按一样.此外压迫力的时候我还试图阻止屏幕关闭通过获取Broadcast的SCREEN_OFF,我成功地接受它,但我不能处理它.
谢谢.
然后,我创建了一个ReceiverScreen,它接收/关闭Screen的广播
ReceiverScreen.java
public class ReceiverScreen extends BroadcastReceiver {
public static boolean wasScreenOn = true;
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
// do whatever you need to do here
wasScreenOn = false;
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
// and do whatever you need to do here
wasScreenOn = true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
DisableHardButton.java
public class DisableHardButton extends …Run Code Online (Sandbox Code Playgroud) 在Android设备上,只有按钮是音量按钮和电源按钮,我想让应用程序对按下电源按钮(长和短)做出反应.这是怎么做到的?
我正在开发一个应用程序,其中要求不允许用户使用电源按钮锁定屏幕或关闭Android设备,因此我必须禁用电源按钮并覆盖电源按钮功能,我已经搜索过互联网上也有很多,但找不到任何东西。我已经使用了这两段代码,但它仍然对我不起作用。
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) {
Log.i("", "Dispath event power");
Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
sendBroadcast(closeDialog);
return true;
}
return super.dispatchKeyEvent(event);
}
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_POWER) {
// Back
moveTaskToBack(true);
return true;
}
else {
// Return
Run Code Online (Sandbox Code Playgroud)
请帮助我提前致谢。