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. Hadoop 3.x 新特性剖析系列1

    1.概述 目前从Hadoop官网的Wiki来看,稳定版本已经发行到Hadoop2.9.0,最新版本为Hadoop3.1.0,查阅JIRA,社区已经着手迭代Hadoop3.2.0.那么,今天笔者就带着大 ...

  2. mysql数据库--explain(查询表是否走索引)各个字段含义

    1.1 id列 数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询. 1.2 select_type列 常见的有: ◆ simp ...

  3. Spting +Spring MVC+spring date jsp +hibernate+jq

    controller 控制页面跳转 处理前台后台数据交互 访问servicedao层:@Repository 数据库访问层 增删改查 jpa规范了hibernate jap仓库 jpa自动解析 方法名 ...

  4. 音频压缩编码 opus 附完整C++代码示例

    绝大数人都知道mp3格式编码,以及aac,amr等压缩格式编码. 而在语音通信界有一个强悍的音频格式编码opus. 经过实测,压缩比最高可以达到1:10. 100KB 压缩后 10KB 虽然是有损压缩 ...

  5. ubuntu下安装foxi reader阅读器

    参考 :https://blog.csdn.net/u013831198/article/details/72472040 请参照以下步骤安装Foxit Reader(适用于Linux):   •   ...

  6. [LeetCode] Subarray Sum Equals K 子数组和为K

    Given an array of integers and an integer k, you need to find the total number of continuous subarra ...

  7. 实验吧_拐弯抹角(url伪静态)&Forms

    拐弯抹角 先贴代码 <?php // code by SEC@USTC echo '<html><head><meta http-equiv="chars ...

  8. Centos常用命令之:文件操作

    在centos中,常用的文件操作命令有: ◇touch:建置新文件或者修改文件时间◇cat:从第一行开始显示文件内容◇tac:从最后一行开始显示文件内容,和cat相反◇nl:显示的时候,顺道输出行号◇ ...

  9. 下载python的Crypto库出现的问题的解决:ModuleNotFoundError: No module named 'Crypto'

    在网上找了很多下载Crypto的方法,感觉作用都不算很大,然后自己瞎搞瞎搞就搞好了

  10. ●BZOJ 3529 [Sdoi2014]数表

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=3529 题解: 莫比乌斯反演. 按题目的意思,令$f(i)$表示i的所有约数的和,就是要求: ...