LauncherModel.Callbacks接口
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接口的更多相关文章
- android M Launcher之LauncherModel (一)
众所周知 LauncherModel在Launcher中所占的位置,它相当于Launcher的数据中心,Launcher的桌面以及应用程序菜单中所需的数据像 桌面小部件的信息.快捷方式信息.文件信息. ...
- 【Android】Android 4.0 Launcher2源码分析——启动过程分析
Android的应用程序的入口定义在AndroidManifest.xml文件中可以找出:[html] <manifest xmlns:android="http://schemas. ...
- Android4.0 Launcher 源码分析2——Launcher内容加载绑定详细过程
Launcher在应用启动的时候,需要加载AppWidget,shortcut等内容项,通过调用LauncherModel.startLoader(),开始加载的工作.launcherModel中加载 ...
- 【转】Android 4.0 Launcher2源码分析——启动过程分析
Android的应用程序的入口定义在AndroidManifest.xml文件中可以找出:[html] <manifest xmlns:android="http://schemas. ...
- Fragment与Activity交互(使用接口)
在Fragment中: 1. // 定义一个回调接口,该Fragment所在Activity需要实现该接口// 该Fragment将通过该接口与它所在的Activity交互 { public void ...
- 【凯子哥带你学Framework】Activity启动过程全解析
It’s right time to learn Android’s Framework ! 前言 学习目标 写作方式 主要对象功能介绍 主要流程介绍 zygote是什么有什么作用 SystemSer ...
- 【Android】应用程序启动过程源码分析
在Android系统中,应用程序是由Activity组成的,因此,应用程序的启动过程实际上就是应用程序中的默认Activity的启动过程,本文将详细分析应用程序框架层的源代码,了解Android应用程 ...
- Android系统默认Home应用程序(Launcher)的启动过程源码分析
在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还须要有一个Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home应 ...
- Android系统默认Home应用程序(Launcher)的启动过程源代码分析
在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还需要有一个 Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home ...
随机推荐
- [LeetCode] Non-negative Integers without Consecutive Ones 非负整数不包括连续的1
Given a positive integer n, find the number of non-negative integers less than or equal to n, whose ...
- [ Java学习基础 ] String、StringBuffer、StringBuilder比较学习
首先讲获得字符串对象的方式有两种,一种是直接使用字符串常量,一种是使用new关键字创建,但它们之间是有一些区别,如下运行实例: String s1 = new String("Hello&q ...
- [Codeforces 750E]New Year and Old Subsequence
Description 题库链接 给出一个长度为 \(n\) 的仅包含数字的字符串. \(q\) 次询问,每次询问该串 \([a,b]\) 段内删去几个数能够使其不含 \(2016\) 的子串,但存在 ...
- hdu 5480(前缀和)
题意:如果一个点,则这点的横竖皆被占领,询问矩阵是否全被占领. 思路:将被占领的x,y标记为1,用x表示1 - i的和 如果x轴的差为 x2 - x1 + 1则表示全被占领,y轴同理 #include ...
- 【UOJ UNR #1】争夺圣杯
来自FallDream的博客,未经允许,请勿转载,谢谢. 传送门 考虑直接对每个数字,统计它会产生的贡献. 单调栈求出每个数字左边第一个大等于他的数,右边第一个大于他的 (注意只能有一边取等) 假设左 ...
- bzoj 1835: [ZJOI2010]基站选址
Description 有N个村庄坐落在一条直线上,第i(i>1)个村庄距离第1个村庄的距离为Di.需要在这些村庄中建立不超过K个通讯基站,在第i个村庄建立基站的费用为Ci.如果在距离第i个村庄 ...
- splay模板(BZOJ3224)
用splay实现二叉搜索树的模板,支持插入,删除,找前缀后缀,x的排名以及第x名的数. #include <cstdio> #define l(x) t[x].s[0] #define r ...
- Frame buffer分析 - fbmem.c【转】
转自:http://www.cnblogs.com/armlinux/archive/2012/03/01/2396753.html 45 struct fb_info *registered_fb[ ...
- 作为开发也要了解的 mysql 优化思路
作为开发人员,数据库知识掌握的可能不是很深入,但是一些基本的技能还是要有时间学习一下的.作为一个数据库菜鸟,厚着脸皮来总结一下 mysql 的基本的不能再基本的优化方法. 为了更好的说明,我假想出来了 ...
- Python【第一课】 Python简介和基础
本节内容 Python安装(windows) 第一个程序(windows中的python) 变量 字符编码 注释 用户输入 模块初步认识 数据类型 数据运算 表达式if...else 表达式for l ...