41 次浏览
path: <source>/frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java
(1)屏蔽Intent getHomeIntent()函数中默认加载launcher的代码,改为默认加载自定义Activity
//edited by peng
//intent.setComponent(mTopComponent);
intent.setComponent(getDefaultActivity());
(2)增加通过包名自动获取Activity的函数
/** added by peng */
private ComponentName getDefaultActivity() {
ComponentName defComp = null;
// 默认启动的apk,可以修改为任意包名。
String pkgDef = "com.lifereal.quantready9600.ui";
Slog.i(TAG, "defautl packageName = " + pkgDef);
Intent launcherIntent = new Intent("android.intent.action.MAIN", null);
launcherIntent.setPackage(pkgDef);
List<ResolveInfo> localResolveInfo = mContext.getPackageManager().queryIntentActivities(launcherIntent, 0);
if (!localResolveInfo.isEmpty()) {
ActivityInfo activityInfo = localResolveInfo.get(0).activityInfo;
if (activityInfo != null) {
Log.d(TAG, "get default activity" + activityInfo.name);
defComp = new ComponentName(pkgDef, activityInfo.name);
}
}
return defComp;
}
adb指令:
(1)查看包名
adb shell pm list packages
(2)结束进程
adb shell "am force-stop <包名>"