zoukankan      html  css  js  c++  java
  • SystemUI-导航栏-home键上推后出现search的过程

    1.PhoneStatusBar.java中的prepareNavigationBarView 函数中
      mNavigationBarView.setListener(mRecentsClickListener,mRecentsPreloadOnTouchListener, mHomeSearchActionListener);

      注册mHomeSearchActionListener 去 showSearchPanel();

    2.SearchPanelView.java 中
    class GlowPadTriggerListener implements GlowPadView.OnTriggerListener {

            public void onTrigger(View v, final int target) {
                final int resId = mGlowPadView.getResourceIdForTarget(target);
                mActionTarget.launchAction(mTargetActivities[target - mStartPosOffset]);
            } 
       
        }
    其中 ActionTarget.launchAction  通过log得知是ACTION_ASSIST
     public boolean launchAction(String action) {
            try {
                ActivityManagerNative.getDefault().dismissKeyguardOnNextActivity();
            } catch (RemoteException e) {
                // ignored
            }全职高手www.wo-cn.com/quanzhigaoshou

           if (action.equals(ACTION_ASSIST)) {
                Intent intent = new Intent(Intent.ACTION_ASSIST);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                mContext.startActivity(intent);
                return true;
        }      
      }


    Android的启动分为内核启动、Android启动、launcher启动,我们的SystemServer就处于Android启动中,以下是大致流程图:

                                                                init->ServiceManager->Zygote->SystemServer->... ...

    在SystemServer中,初始化了Android系统中的Java层服务,如PowerManagerService、WindowManagerService等等,当然也包括了SystemUIService,它们通过ServiceManager的addService()方法,添加到ServiceManager的管理中。实际上,根据后面的分析这里add了一个很重要的StatusBarManagerService。这个Service在后面会用到的。

  • 相关阅读:
    《代码整洁之道》读书笔记六
    第九周总结
    《构建之法》读后感(五)
    学习进度条-第十二周
    3. 统计数字
    《构建之法》读后感(四)
    学习进度条-第十一周
    4. 丑数 II
    《构建之法》读后感(三)
    学习进度条-第十周
  • 原文地址:https://www.cnblogs.com/jiangye/p/3337016.html
Copyright © 2011-2022 走看看