在frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java中
第一步:
在startHomeActivityLocked方法的开始出加入如下代码:
- String packageName = SystemProperties.get("thirdparty.launcher.packagename","com.android.launcher");
- String className = SystemProperties.get("thirdparty.launcher.classname","com.android.launcher2.Launcher");
- if(isPkgInstalled(mContext, packageName) && !isDefaultLauncher(mContext, packageName))
- setDefaultLauncher(packageName, className);
第二步:
在frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java这个类中加入如下方法:
- public boolean isPkgInstalled(Context context, String packageName) {
- if (packageName == null || "".equals(packageName))
- return false;
- android.content.pm.ApplicationInfo info = null;
- try {
- info = context.getPackageManager().getApplicationInfo(packageName, 0);
- return info != null;
- } catch (NameNotFoundException e) {