Android(安卓)launcher 源码 app 的启动方式
16lz
2022-07-26
关键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_TASKFLAG_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); }
更多相关文章
- Pycharm安装PyQt5的详细教程
- python list.sort()根据多个关键字排序的方法实现
- android studio Could not find com.android.support.constraint
- Android(安卓)给 app默认权限(不弹窗申请权限)
- [RK3399][Android7.1.1] WifiAp:开机默认打开wifi热点
- Android--SoLoader,android动态加载so库
- Android(安卓)命令行编译、打包生成apk文件
- Android(安卓)屏幕设置
- android手机客户端上传文件,java servlet服务器端接收并保存到服