Tout d'abord, réfléchissez longuement si vous voulez vraiment désactiver l'option Home
ou tout autre bouton d'ailleurs (par exemple, le bouton Back
), ce n'est pas quelque chose qui devrait être fait (au moins la plupart du temps, c'est une mauvaise conception). Je ne peux parler que pour moi, mais si j'ai téléchargé une application qui ne me permet pas de faire quelque chose comme cliquer sur un bouton de l'OS, la prochaine chose que je fais est de désinstaller cette application et de laisser une très mauvaise critique. Je pense également que votre application ne sera pas mise en avant sur l'App Store.
Maintenant...
Remarquez que MX Player
demande la permission de dessiner par-dessus d'autres applications :
Puisque vous ne pouvez pas remplacer le Home
bouton sur Android
(du moins pas dans les dernières versions du système d'exploitation). MX Player
se dessine au-dessus de votre lanceur lorsque vous "verrouillez" l'application et que vous cliquez sur l'icône Home
bouton.
Pour voir un exemple qui est un peu plus simple et direct à comprendre, vous pouvez voir l' Application Facebook Messenger .
On m'a demandé de fournir des informations supplémentaires sur MX Player. Status Bar
y Navigation Bar
"overriding", je modifie ma réponse pour inclure ces sujets également.
Tout d'abord, MX Player utilise Mode plein écran immersif ( Vidéo DevBytes ) sur KitKat
.
Android 4.4 (API Level 19) introduit une nouvelle SYSTEM_UI_FLAG_IMMERSIVE pour setSystemUiVisibility() qui permet à votre application de passer véritablement en "plein écran". Ce drapeau, lorsqu'il est combiné avec le SYSTEM_UI_FLAG_HIDE_NAVIGATION y SYSTEM_UI_FLAG_FULLSCREEN masque les barres de navigation et d'état et permet à votre application de capturer tous les événements tactiles sur l'écran.
Lorsque le mode plein écran immersif est activé, votre activité continue de recevoir tous les événements tactiles. L'utilisateur peut révéler les barres du système par un glissement vers l'intérieur le long de la région où les barres du système apparaissent normalement. Cela permet d'effacer les SYSTEM_UI_FLAG_HIDE_NAVIGATION (et l'option SYSTEM_UI_FLAG_FULLSCREEN si elle est appliquée) pour que les barres du système deviennent visibles. Cela déclenche également votre View.OnSystemUiVisibilityChangeListener (écouteur) si elle est définie. Toutefois, si vous souhaitez que les barres du système se cachent à nouveau automatiquement au bout de quelques instants, vous pouvez utiliser la commande SYSTEM_UI_FLAG_IMMERSIVE_STICKY drapeau. Notez que la version "collante" de l'indicateur ne déclenche aucune écoute, car les barres du système affichées temporairement dans ce mode sont dans un état transitoire.
Deuxièmement : Masquer la barre d'état
Troisièmement : Masquer la barre de navigation
Veuillez noter que, bien que l'utilisation du plein écran immersif ne soit que pour KitKat
en cachant le Status Bar
y Navigation Bar
n'est pas seulement pour KitKat
.
Je n'ai pas grand chose à dire sur le 2ème et le 3ème, Vous avez compris l'idée je crois, c'est une lecture rapide en tout cas. Assurez-vous juste de prêter une attention particulière à View.OnSystemUiVisibilityChangeListener (écouteur) .
J'ai ajouté un Gist qui explique ce que je voulais dire, il n'est pas complet et a besoin de quelques corrections mais vous aurez l'idée. https://gist.github.com/Epsiloni/8303531
Bonne chance dans la mise en œuvre de ce projet, et amusez-vous bien !
1 votes
stackoverflow.com/questions/17183905/ . vous ne pouvez pas désactiver le bouton d'accueil.
2 votes
@user1024 avez-vous trouvé une solution à votre question ? Comme je veux aussi faire la même fonctionnalité que dans MX Player.
2 votes
La méthode de MX Player est plutôt intéressante. Ils empêchent en fait la barre de navigation de revenir.
0 votes
Avez-vous trouvé une solution à ce problème ? J'ai également besoin de savoir comment désactiver ces boutons. À tout le moins, comment puis-je gérer le bouton multitâche.
0 votes
Vous pouvez consulter ma réponse, je pense qu'elle vous aidera à obtenir ce que vous voulez. stackoverflow.com/a/28603790/3300883