Android launcher 源码 app 的启动方式
2016-02-15 22:03
447 查看
关键Java代码路径
Launcher3\src\com\android\launcher3\LauncherModel.java
private void loadAllApps() { // Create the ApplicationInfos for (int i = 0; i < apps.size(); i++) { ResolveInfo app = apps.get(i); // This builds the icon bitmaps. mBgAllAppsList.add(new AppInfo(packageManager, app, mIconCache, mLabelCache)); }可以看到 app快捷方式默认 FLAG_ACTIVITY_NEW_TASK FLAG_ACTIVITY_RESET_TASK_IF_NEEDED 两种flag
/** * Must not hold the Context. */ public AppInfo(PackageManager pm, ResolveInfo info, IconCache iconCache, HashMap<Object, CharSequence> labelCache) { final String packageName = info.activityInfo.applicationInfo.packageName; this.componentName = new ComponentName(packageName, info.activityInfo.name); this.container = ItemInfo.NO_ID; this.setActivity(componentName, Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); try { PackageInfo pi = pm.getPackageInfo(packageName, 0); flags = initFlags(pi); firstInstallTime = initFirstInstallTime(pi); } catch (NameNotFoundException e) { Log.d(TAG, "PackageManager.getApplicationInfo failed for " + packageName); } iconCache.getTitleAndIcon(this, info, labelCache); }
相关文章推荐
- 在Android Studio中的res文件夹下新建含alpha的XML文件
- android ViewPager 不带滑动效果切换item
- android 优化策略
- Android杂谈之Android数据存储方式
- Android contacts 联系人 通讯录 源码 完全解析
- 【转】基于 Android NDK 的学习之旅-----数据传输(引用数据类型)
- applicationContext.xml配置说明
- android studio从布局文件中提取style
- Android - 利用内容提供者删除通话记录
- android使用全局变量的两种方法
- android include包含布局文件
- APP上架流程
- iOS - RunLoop
- android:fitsSystemWindows的作用
- when the android meet dragger2
- 【Android性能优化】(一)使用SparseIntArray替换HashMap
- Android资源文件详解
- 戴尔N5110装WIN10的体验
- AndroidManifest.xml
- Android入门小示例_一键SOS