Eh bien, je suis en train de faire quelque chose dans lequel je veux désactiver tous les boutons durs de l'appareil.
Boutons durs comme Alimentation, Accueil, Volume haut, Volume bas, Recherche, Retour.
J'ai réussi à remplacer presque tous les boutons aquí sauf le pouvoir.
Je veux juste que vous voyiez et que vous partagiez vos idées pour que je puisse m'en sortir.
Je reçois le pression longue L'événement clé du pouvoir dans onDispatchKeyEvent()
De la même façon, je veux attraper le petit clic de la même chose. De plus, en appuyant sur le bouton d'alimentation, j'ai aussi essayé d'arrêter Écran éteint en obtenant le Broadcast
de SCREEN_OFF
et j'ai réussi à le recevoir mais je n'ai pas pu le manipuler.
Gracias.
Ensuite, j'ai créé un ReceiverScreen qui reçoit la diffusion de Screen on/off.
Écran de réception.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;
}
}
}
DisableHardButton.java
public class DisableHardButton extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
BroadcastReceiver mReceiver = new ReceiverScreen();
registerReceiver(mReceiver, filter);
}
@Override
protected void onPause() {
// when the screen is about to turn off
if (ScreenReceiver.wasScreenOn) {
// this is the case when onPause() is called by the system due to a screen state change
System.out.println("SCREEN TURNED OFF");
} else {
// this is when onPause() is called when the screen state has not changed
}
super.onPause();
}
@Override
protected void onResume() {
// only when screen turns on
if (!ScreenReceiver.wasScreenOn) {
// this is when onResume() is called due to a screen state change
System.out.println("SCREEN TURNED ON");
} else {
// this is when onResume() is called when the screen state has not changed
}
super.onResume();
}
}
0 votes
Quel est le but..., peut-être qu'il y a une autre solution de contournement
2 votes
Vous ne pouvez pas faire ça avec le stock Android. Il y a aussi beaucoup de questions à ce sujet sur
Stackoverflow.com
Que pensez-vous trouver sur le vôtre maintenant ?0 votes
La question semble similaire, vérifiez ceci stackoverflow.com/questions/8036701/how-to-disable-power-button
6 votes
Donc vous pouvez pirater le téléphone de quelqu'un ?
13 votes
Pourquoi les gens pensent-ils toujours à abuser de la technologie ? Je ne comprends pas.