7 votes

Désactivation du bouton d'accueil d'Android pour une application industrielle

Je suis en train d'écrire une application industrielle qui sera utilisée par les agents de la circulation pour enregistrer des infractions à l'aide de mon programme en utilisant des formulaires.

L'application utilise une vue web, qui n'est donc qu'un conteneur pour une page web externe. Nous ne voulons pas que nos utilisateurs quittent l'application et nous devons donc désactiver tous les boutons. J'ai réussi à les désactiver à l'exception du bouton d'accueil.

J'ai lu quelques fils de discussion à ce sujet, mais je n'ai pas encore de solution. L'idée est de pouvoir faire de l'application l'application d'accueil par défaut, de sorte que si l'utilisateur appuie sur le bouton d'accueil, il lance mon application et n'en sort pas. Comment puis-je y parvenir ? Si nous devons le faire, nous pouvons modifier Android lui-même (lorsque nous installons l'application), mais s'il y a une solution par le biais de la configuration, ce serait apprécié.

10voto

CommonsWare Points 402670

L'idée est de faire de l'application l'application d'accueil par défaut, de sorte que si l'utilisateur appuie sur le bouton d'accueil, il lance mon application et ne la quitte pas. Comment puis-je y parvenir ?

Il existe un exemple d'application Home dans votre SDK Android. Mettez en miroir son entrée de manifeste, en mettant notamment l'élément HOME dans la catégorie de l'activité <intent-filter> .

La première fois que l'agent de circulation appuiera sur HOME après avoir installé votre application, un sélecteur apparaîtra pour choisir l'application Home à exécuter. En cochant la case et en tapant sur votre application, le bouton HOME lancera votre application pour toujours.

Outre la création d'une application maison personnalisée, il n'existe aucun moyen d'intercepter le bouton HOME, si ce n'est en modifiant le micrologiciel.

0voto

boosth Points 81
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    getWindow().addFlags(  WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

}

@Override
public void onBackPressed() {

   return;
}

@Override
public void onAttachedToWindow()
{  

       this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);     
       super.onAttachedToWindow();

}

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