IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Blocage des touches


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 10
    Par défaut Blocage des touches
    Bonjour,
    pour l'application que je suis entrain de développer, j'ai besoin de gérer moi même la fermeture de l'application via bouton (comme le fait FlyScreen)
    J'aimerais donc pouvoir récupérer et gérer moi même le code exécuté lors de l'appui sur les touches du smartphone.

    Je redéfinis la méthode onKeyDown pour pouvoir contrôler l'appui sur les touches: recherche, retour et menu. Mais pour la touche HOME, je n'arrive pas à récupérer un l'évènement correspondant et surtout je n'arrive pas à empêcher le retour à l'écran d'accueil.

    Quelqu'un (Dekans pour être précis) m'a mis sur la piste du "lock" du téléphone (car lors de ce blocage la touche HOME est inactive).

    Quelqu'un à déjà fait ça ?
    Est-ce possible ? (il me semble que FlyScreen l'a fait, pourquoi pas nous ^^)
    Est-ce compliqué/long à mettre en œuvre ?

    Cordialement
    Fragor

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Par défaut
    J'ai pas bien compris votre question mais voici la réponse à ce que j'ai compris
    : Comment controer la touche Home

    Tu peux le controler de facon une fois que l'utilisateur tape sur HOME, au lieu qu'il part dans HOME, il ira par exemple dans une autre View que toi meme tu as codé.

    Pour la touche HOME, le voila en gras.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    @Override public boolean onKeyDown(int keyCode, KeyEvent event){
    	  
    	  switch(keyCode){
            // Exemple des cas des lettres
    	  case KeyEvent.KEYCODE_S :// votre action ;return true;
    	  case KeyEvent.KEYCODE_P : // votre action;return true;
          // Exemple des cas des nombres
    	  case KeyEvent.KEYCODE_0 :// votre action;return true;   
     // Exemple des cas de la touche appel
      case KeyEvent.KEYCODE_CALL:// votre action;return true;;return true;}
        case KeyEvent.KEYCODE_ENDCALL:// votre action;return true;}
       //  Le cas de Home 
        case KeyEvent.KEYCODE_HOME:{// votre action;return true;}
     // cas de retour en arriere
        case KeyEvent.KEYCODE_BACK:{// votre action;return true;}
    
    // Les touches de directionnement
        case KeyEvent.KEYCODE_DPAD_CENTER:// votre action;return true;
        case KeyEvent.KEYCODE_DPAD_DOWN:// votre action;return true;
       case KeyEvent.KEYCODE_DPAD_RIGHT:// votre action;return true;
       case KeyEvent.KEYCODE_DPAD_UP: // votre action;return true;
       case KeyEvent.KEYCODE_DPAD_LEFT:// votre action;return true;
        
    	 
    }

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 10
    Par défaut
    Merci pour ta réponse.

    Pour re-formuler ma question:
    - Je souhaite pouvoir exécuter du code quand l'utilisateur appui sur la touche HOME
    - Et je souhaite bloquer l'exécution du code par défaut de la touche HOME (code qui quitte l'application en cours et qui revient sur l'écran d'accueil)


    J'ai déjà essayé la méthode que tu me proposes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        public boolean onKeyDown(int keyCode, KeyEvent event) {
        	Log.e("***********", "Event KeyDown");
        	Log.e("***********", KeyEvent.KEYCODE_HOME == keyCode ? "Touche HOME" : "Pas de touche HOME");
            return false;
        }
    Le problème est que j'ai bien les retours dans le Log avec toute les touches, sauf avec la touche HOME qui ne semble pas exécuter le code présent dans onKeyDown.

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Par défaut
    Il faut mettre le retour à true au lieu de false;

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 10
    Par défaut
    Ah ouep, je l'avais oublié merci.
    Mais ça ne change rien pour la touche HOME ^^

  6. #6
    Membre Expert
    Avatar de nbenbourahla
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 41
    Par défaut
    La touche Home ne peut pas être catcher par une application, en tout cas pas avec OnKeyDown.
    Car sa reste la sortie de secours d'une application et impossible de la détourner, en tout cas pas à ma connaissance.

Discussions similaires

  1. Detection des touches enfoncées par API
    Par Ingham dans le forum VB 6 et antérieur
    Réponses: 31
    Dernier message: 20/02/2006, 12h30
  2. Linux : prb des touches CTRL + FONCTIONS...
    Par bidule999 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 03/12/2004, 09h51
  3. [JEditorPane]Captures des touches claviers
    Par splend_f dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 17/05/2004, 14h57
  4. [DirectInput] Gestion des touches en mode fenêtré
    Par Harry_polin dans le forum DirectX
    Réponses: 8
    Dernier message: 19/03/2003, 17h50
  5. Cherche Nom des touches du clavier
    Par juan64 dans le forum C++Builder
    Réponses: 8
    Dernier message: 23/07/2002, 19h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo