KEYGUARD作用的仿照及其流程说明(2)

    /**       * Called when the current {@link Window} of the activity gains or loses       * focus.  This is the best indicator of whether this activity is visible       * to the user.  The default implementation clears the key tracking       * state, so should always be called.       *        * <p>Note that this provides information about global focus state, which       * is managed independently of activity lifecycles.  As such, while focus       * changes will generally have some relation to lifecycle changes (an       * activity that is stopped will not generally get window focus), you       * should not rely on any particular order between the callbacks here and       * those in the other lifecycle methods such as {@link #onResume}.       *        * <p>As a general rule, however, a resumed activity will have window       * focus...  unless it has displayed other dialogs or popups that take       * input focus, in which case the activity itself will not have focus       * when the other windows have it.  Likewise, the system may display       * system-level windows (such as the status bar notification panel or       * a system alert) which will temporarily take window input focus without       * pausing the foreground activity.       *       * @param hasFocus Whether the window of this activity has focus.       *        * @see #hasWindowFocus()       * @see #onResume       * @see View#onWindowFocusChanged(boolean)       */       public void onWindowFocusChanged(boolean hasFocus) {           WindowManager.LayoutParams lp = new WindowManager.LayoutParams();           lp.type = WindowManager.LayoutParams.TYPE_KEYGUARD ;           this.getWindow().setAttributes(lp);       }             /** * Called when the main window associated with the activity has been           * attached     to the window manager.         * See {@link View#onAttachedToWindow() View.onAttachedToWindow()}         * for more information.        * @see View#onAttachedToWindow        */        public void onAttachedToWindow() {               this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);                 super.onAttachedToWindow();        }          onWindowFocusChanged(boolean) 当窗口包含的view获取或失去焦点时触发    onAttachedToWindow() 当view被附着到一个窗口时触发  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyfgdf.html