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. R语言-ggplot初级

    ggplot2简介: 在2005年开始出现,吸取了基础绘图系统和lattice绘图系统的优点,并利用一个强大的模型来对其进行改进,这一模型基于之前所述的一系列准则, 能够创建任意类型的统计图形 1.导 ...

  2. 线段树(单标记+离散化+扫描线+双标记)+zkw线段树+权值线段树+主席树及一些例题

    “队列进出图上的方向 线段树区间修改求出总量 可持久留下的迹象 我们 俯身欣赏” ----<膜你抄>     线段树很早就会写了,但一直没有总结,所以偶尔重写又会懵逼,所以还是要总结一下. ...

  3. python3全栈开发-异常处理

    一. 什么是异常 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下 而错误分成两种 ...

  4. js判断网络连通性

    js判断网络连通性 if (window.navigator.onLine == true) {                         console.log("首次 -- 已连接 ...

  5. Baidu音乐爬虫

    Baidu音乐歌曲爬虫: 1.分析Baidu音乐歌曲下载接口,组装参数 2.判断是否需要登录 a.使用cookie b.使用selenium 3.歌曲信息页面分析 4.数据表设计 歌曲类型表 歌曲表 ...

  6. shell编程-项目部署(优化篇)

    在实际工作中小编遇到了一个问题那就是当我去操作部署脚本的时候,另一个人也可以操作,这怎么能行啊,后来小编就觉得重新优化下代码,给它加一个进程锁 老规矩,先梳理下思路: 同一时间内,脚本只能够允许一个人 ...

  7. [HZOI 2015]疯狂的机器人

    [题目描述] 现在在二维平面内原点上有一只机器人 他每次操作可以选择向右走,向左走,向下走,向上走和不走(每次如果走只能走一格) 但是由于本蒟蒻施展的大魔法,机器人不能走到横坐标是负数或者纵坐标是负数 ...

  8. 【数据结构】【平衡树】无旋转treap

    最近在研究平衡树,看起来这种东西又丧水又很深,感觉很难搞清楚.在Ditoly学长的建议下,我先学习了正常的treap,个人感觉这应该是平衡树当中比较好懂的而且比较好写的一种. 然而,发现带旋treap ...

  9. [UOJ] #217. 【UNR #1】奇怪的线段树

    题解见大佬博客 我的丑陋代码: #include<cstdio> #include<cstring> #include<cstdlib> inline int re ...

  10. reserve的使用

    reserve: 强迫容器将它的容量变成n 可以避免不必要的重新分配 如果n大于当前容量,那么正常. 如果n小于当前容量,vector会忽略,string则是减小为 max(size(),n). 如果 ...