Écrasez le bouton d'alimentation sur Android
Je suis le développement d'une application dans laquelle j'ai besoin de faire une action lorsque le bouton d'alimentation est pressé, mais malheureusement je ne peux pas handel l'action du bouton d'alimentation quand il est pressé. J'ai essayé d'utiliser le onKeyDown() et dispatchKeyEvent() méthodes mais rien ne semble fonctionner. Quelqu'un peut-il me suggérer une autre méthode ou une solution pour ce problème.
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) {
//The action I want to perform when power button is pressed.
return true;
}
return super.onKeyDown(keyCode, event);
}
et
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) {
Intent i = new Intent(this, NewActivity.class);
startActivity(i);
return true;
}
return super.dispatchKeyEvent(event);
}
- Double question stackoverflow.com/questions/3703071/...
- si vous vous inquiétez au sujet de votre propre appareil, et si il est enraciné, vous pouvez modifier le fichier de disposition de clavier
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé la réponse, et cela peut être fait en utilisant la AlarmManager avec le PowerManager
Heureusement, ce n'est pas possible, sauf peut-être via le custom firmware.
Je ne sais pas ce que vous voulez faire, mais vous pouvez utiliser un
BroadcastReceiver
et écouter de laandroid.intent.action.SCREEN_OFF
ouIntent.ACTION_SCREEN_OFF
qui est envoyé lorsque le bouton d'alimentation est pressé (et l'écran est allumé).Malheureusement cette intention sera envoyé une fois l'écran éteint aussi. Mais je pense que vous pouvez empêcher le téléphone d'être enfermé (alors que dans une application) à l'instar de ce