61 votes

Android - Est-Il possible de désactiver le clic du bouton d'accueil

J'ai une demande, quand il se lance, j'ai désactiver tous les boutons de l'appareil Android, j'ai réussi à la désactivation de fin d'appel et les autres. J'ai besoin de désactiver la maison de clic de bouton. Il ne devrait pas avoir d'action sur le clic.

Toutes les suggestions très apprécié

29voto

synic Points 12644

Je suis sûr que tout-petit Verrou utilise juste un BroadcastReciever et à l'écoute pour Intent.ACTION_MAIN et la catégorie Intent.CATEGORY_HOME - c'est pourquoi lors du premier lancement, il vous dit de cocher la case "utiliser cette application par défaut" de la boîte, et le fait de vous sélectionner tout-petit verrou.

Donc, ce n'est pas vraiment bloquant le bouton Home, il est juste en train de se développer en tant que par défaut récepteur de radiodiffusion pour:

Intent i = new Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_MAIN);

Lorsque vous lancez un Bambin de Verrouillage, il est probablement définit un indicateur interne, et si vous appuyez sur le bouton home, il apporte juste la fenêtre à l'avant. Si le drapeau n'est pas définie, probablement lance le Launcher explicitement.

J'espère qu'un sens. C'est juste une théorie, mais je suis presque sûr à 100% que c'est la façon dont c'est fait.

18voto

Jeffrey Points 179

Ajoutez le code suivant à votre activité:

@override

public void onAttachedToWindow()
{  
       this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);     
       super.onAttachedToWindow();  
}

Edit:

Cela fonctionne dans toutes les anciennes version d'android. Mais ne fonctionnera pas en ICS et jelly bean et vous donnera un crash dans l'app

Qu'est-ce 4 ligne de code java moyens d'une application android?

11voto

Jean-François Points 97

Ajouter ceci dans votre manifest.xml pour votre activité principale:

<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.HOME" />

Le bouton ACCUEIL pour toujours (re)lancer votre activité. Travaille en Froyo.

5voto

amiekuser Points 924

J'ai trouvé un moyen de remédier à la clé de la MAISON. Pour votre demande de définir le manifeste en

<action android:name="android.intent.action.MAIN" /> 
<category android:name="android.intent.category.HOME" /> 
<category android:name="android.intent.category.DEFAULT" />                            
<category android:name="android.intent.category.MONKEY"/>

Maintenant ur demande est un autre Lanceur d'application.

L'utilisation de la bad, et de désactiver l'écran de lancement de l'application à l'aide du gestionnaire de package

pm disable com.android.launcher2

Maintenant la touche Accueil, appuyez laways rester dans le même écran.

5voto

davide.gironi Points 112

ici vous pouvez trouver mon Android exemple d'application qui persistent sur la page d'accueil. La maison, le Dos, l'Appel, le bouton d'Alimentation sont désactivés. L'utilisateur peut mettre fin à l'application uniquement en tapant un mot de passe.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X