就像上面的@auval所说的,我测试下面的代码,效果很好!首先,AndroidManifest.xml文件如下所示:
android:name=".LauncherActivity">
android:name=".MainActivity">
android:name=".AliasActivity"
android:enabled="false"
android:targetActivity=".MainActivity">
其次,您可以将这些代码放在MainActivity.class中的某个位置:
private void changeLauncher() {
String s = getApplicationContext().getPackageName();
ComponentName cm = new ComponentName(s, s + ".AliasActivity");
ComponentName cm2 = new ComponentName(s, s + ".LauncherActivity");
PackageManager pm = this.getPackageManager();
pm.setComponentEnabledSetting(cm,
PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
PackageManager.DONT_KILL_APP );
pm.setComponentEnabledSetting(cm2,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
}
现在,当您首次启动该应用程序时,将启动LauncherActivity,而当您退出该应用程序时,再次运行该应用程序,则将启动MainActivity。