public interface Callbacks {
        //如果Launcher在加载完成之前被强制暂停,那么需要通过这个回调方法通知
        //launcher,在它再次显示的时候重新执行加载过程
        public boolean setLoadOnResume();
        //获取当前用户所在的桌面页索引
        public int getCurrentWorkspaceScreen();
        //启动桌面组件绑定
        public void startBinding();
        /**
         *   批量绑定桌面组件
         * @param shortcuts 需要绑定的快捷方式列表
         * @param start 列表的开始位置
         * @param end 列表的结束位置
         * @param forceAnimateIcons  是否使用动画
         */
        public void bindItems(ArrayList<ItemInfo> shortcuts, int start, int end,
                              boolean forceAnimateIcons);
        /**
         *  批量绑定桌面页
         * @param orderedScreenIds 序列化后的桌面页列表
         */
        public void bindScreens(ArrayList<Long> orderedScreenIds);
        //同上
        public void bindAddScreens(ArrayList<Long> orderedScreenIds);
        /**
         *  批量绑定文件夹
         * @param folders 文件夹映射列表
         */
        public void bindFolders(LongArrayMap<FolderInfo> folders);
        //绑定任务完成
        public void finishBindingItems();
        /**
         *  往桌面上绑定小部件
         * @param info 需要绑定到桌面上的小部件信息
         */
        public void bindAppWidget(LauncherAppWidgetInfo info);
        /**
         *   绑定应用程序列表界面的应用程序信息
         * @param apps 需要绑定到应用程序列表中的应用程序列表
         */
        public void bindAllApplications(ArrayList<AppInfo> apps);
        /**
         *  批量添加组件
         * @param newScreens   添加的桌面页列表
         * @param addNotAnimated  无需动画添加组件
         * @param addAnimated    动画方式添加组件
         * @param addedApps    添加所有应用程序菜单
         */
        public void bindAppsAdded(ArrayList<Long> newScreens,
                                  ArrayList<ItemInfo> addNotAnimated,
                                  ArrayList<ItemInfo> addAnimated,
                                  ArrayList<AppInfo> addedApps);
        /**
         *  批量更新应用程序相关的快捷方式或者入口
         * @param apps 已经更新的应用程序信息
         */
        public void bindAppsUpdated(ArrayList<AppInfo> apps);
        /**
         *  从桌面移除一些组件,当应用程序被移除或者禁用的时候调用
         * @param packageNames 以包名指定的应用程序信息列表
         * @param appInfos   以应用程序信息指定的应用程序信息列表
         * @param user   当前用户信息
         * @param reason
         */
        public void bindComponentsRemoved(ArrayList<String> packageNames,
                        ArrayList<AppInfo> appInfos, UserHandleCompat user);
        public void bindAllPackages(WidgetsModel model);
        //全局搜索或者搜索属性更新
        public void bindSearchProviderChanged();
        /**
         *
         * @param rank 输入范围
         * @return  是否为应用程序菜单
         */
        public boolean isAllAppsButtonRank(int rank);
        /**
         * 指示正在绑定的页面
         * @param page  桌面页序号
         */
        public void onPageBoundSynchronously(int page);
        //输出当前Launcher信息到本地文件中
        public void dumpLogsToLocalData();

    }

LauncherModel.Callbacks接口的更多相关文章

  1. android M Launcher之LauncherModel (一)

    众所周知 LauncherModel在Launcher中所占的位置,它相当于Launcher的数据中心,Launcher的桌面以及应用程序菜单中所需的数据像 桌面小部件的信息.快捷方式信息.文件信息. ...

  2. 【Android】Android 4.0 Launcher2源码分析——启动过程分析

    Android的应用程序的入口定义在AndroidManifest.xml文件中可以找出:[html] <manifest xmlns:android="http://schemas. ...

  3. Android4.0 Launcher 源码分析2——Launcher内容加载绑定详细过程

    Launcher在应用启动的时候,需要加载AppWidget,shortcut等内容项,通过调用LauncherModel.startLoader(),开始加载的工作.launcherModel中加载 ...

  4. 【转】Android 4.0 Launcher2源码分析——启动过程分析

    Android的应用程序的入口定义在AndroidManifest.xml文件中可以找出:[html] <manifest xmlns:android="http://schemas. ...

  5. Fragment与Activity交互(使用接口)

    在Fragment中: 1. // 定义一个回调接口,该Fragment所在Activity需要实现该接口// 该Fragment将通过该接口与它所在的Activity交互 { public void ...

  6. 【凯子哥带你学Framework】Activity启动过程全解析

    It’s right time to learn Android’s Framework ! 前言 学习目标 写作方式 主要对象功能介绍 主要流程介绍 zygote是什么有什么作用 SystemSer ...

  7. 【Android】应用程序启动过程源码分析

    在Android系统中,应用程序是由Activity组成的,因此,应用程序的启动过程实际上就是应用程序中的默认Activity的启动过程,本文将详细分析应用程序框架层的源代码,了解Android应用程 ...

  8. Android系统默认Home应用程序(Launcher)的启动过程源码分析

    在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还须要有一个Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home应 ...

  9. Android系统默认Home应用程序(Launcher)的启动过程源代码分析

    在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还需要有一个 Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home ...

随机推荐

  1. 盒子浮动float

    一.float的基本规律 规律1: 标准流模型中的块级盒子,默认宽度100%: 而浮动的块级盒子,宽度不会自动伸展,而是由内容(文字.padding)撑开: 浮动后的行级元素,可以设置宽度高度等属性. ...

  2. linux实现文件的去重【转】

    (1)两个文件的交集,并集 1. 取出两个文件的并集(重复的行只保留一份) cat file1 file2 | sort | uniq > file3 2. 取出两个文件的交集(只留下同时存在于 ...

  3. 机器学习:scipy和sklearn中普通最小二乘法与多项式回归的使用对

    相关内容连接: 机器学习:Python中如何使用最小二乘法(以下简称文一) 机器学习:形如抛物线的散点图在python和R中的非线性回归拟合方法(以下简称文二) 有些内容已经在上面两篇博文中提到了,所 ...

  4. ES6 new syntax of Default Function Parameters

    Default Function Parameters.md Default Function Parameters function getSum(a,b){ a = (a !== undefine ...

  5. ubuntu12.04更新到14.04,win7误删BCD引导项,导致两个系统都无法进入

    解决办法: 制作老毛桃U盘启动盘,使用BCD编辑软件,对C/boot下的BCD文件进行编辑,添加win7引导向. 开机进入win7后,使用easyBCD添加ubuntu14.04启动项,选择grub2 ...

  6. 深入理解事件(Event)

    前言 在前一篇文章中讲到了Event 发布与订阅(一) 里面用到了事件来实现一些发布与订阅,当时对事件及其委托理解的还不是太深入,可能在使用上有点捉急.这篇来好好讲讲事件,以及通过一些小DEMO来加深 ...

  7. TensorFlow学习笔记(UTF-8 问题解决 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte)

    我使用VS2013  Python3.5  TensorFlow 1.3  的开发环境 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff ...

  8. [SCOI2010]幸运数字

    题目描述 在中国,很多人都把6和8视为是幸运数字!lxhgww也这样认为,于是他定义自己的“幸运号码”是十进制表示中只包含数字6和8的那些号码,比如68,666,888都是“幸运号码”!但是这种“幸运 ...

  9. 多项式的基本运算(FFT和NTT)总结

    设参与运算的多项式最高次数是n,那么多项式的加法,减法显然可以在O(n)时间内计算. 所以我们关心的是两个多项式的乘积.朴素的方法需要O(n^2)时间,并不够优秀. 考虑优化. 多项式乘积 方案一:分 ...

  10. NOIP2015-D2T3运输计划

    题目背景 公元 2044 年,人类进入了宇宙纪元. 题目描述 L 国有 n 个星球,还有 n-1 条双向航道,每条航道建立在两个星球之间,这 n-1 条航道连通了 L 国的所有星球. 小 P 掌管一家 ...