Recevoir des événements passés après avoir effacé FLAG_NOT_TOUCHABLE

J'ai une activité dans laquelle je souhaite éviter les boutons de contact de l'utilisateur pendant un certain temps.

Je fais cela:

  • Comment réparer ce ZipException lors de la compilation d'un projet Android sur Jenkins?
  • L'emplacement inversé de géocoder d'Android - un moyen fiable d'obtenir la ville?
  • Supprimez l'icône de remplissage après l'hamburger (menu) dans la barre d'outils Android?
  • Comment utiliser le qualificatif 2 @ Named de Dagger à Kotlin
  • Disclaim Snackbar On left swipe
  • Est-ce que Retrofit + Okhttp utilise httpCaching comme défaut dans Android?
  • WindowManager.LayoutParams params = getWindow().getAttributes(); getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE | WindowManager.LayoutParams.FLAG_FULLSCREEN); getWindow().setAttributes(params); 

    Cela fonctionne très bien, mais quand je reviens pour recevoir des événements tactiles avec:

     WindowManager.LayoutParams params = getWindow().getAttributes(); getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE | WindowManager.LayoutParams.FLAG_FULLSCREEN); getWindow().setAttributes(params); 

    Je reçois tous les événements que les membres de la famille touchent au cours de la période non touchable.

    Une idée de la façon de rejeter ces événements?

    One Solution collect form web for “Recevoir des événements passés après avoir effacé FLAG_NOT_TOUCHABLE”

    Je suis confronté au même problème, mais je trouve une solution de contournement sans lâcher le drapeau de fenêtre. Essaye ça:

     @Override public boolean dispatchTouchEvent (MotionEvent ev){ if(activityTouchable == false)return true; else return super.dispatchTouchEvent(ev); } @Override public boolean dispatchKeyEvent (KeyEvent event){ if(activityTouchable == false)return true; else return super.dispatchKeyEvent(event); } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.