Android-如何在不删除快捷方式的情况下更改应用程序的入口点?
因此,在我的应用程序的早期版本中,我有一个名为MainActivity的入口点Android-如何在不删除快捷方式的情况下更改应用程序的入口点?,android,android-activity,manifest,launcher,Android,Android Activity,Manifest,Launcher,因此,在我的应用程序的早期版本中,我有一个名为MainActivity的入口点 <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" />
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
在这个版本中,我为我的应用程序提供了一个新的入口点,然后以编程方式重新定向到MainActivity或另一个屏幕。以下是两项活动:
<activity
android:name=".NewEntryPoint"
android:label="@string/title_activity_second" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
我从主活动中删除了action.MAIN,并将其设置为我的新入口点。但是,任何在主屏幕上将应用程序作为快捷方式的用户都将丢失该快捷方式。将启动器类别保留在MainActivity中也没有帮助
有没有办法在不删除快捷方式的情况下更改我的应用程序的入口点
谢谢 我相信你可以使用
活动别名
来实现这一点,但我想知道,为了避免用户再次向你的应用程序添加快捷方式,是否值得在将来进行维护。大概是这样的:
<activity-alias
android:name=".MainActivity"
android:targetActivity=".NewEntryPoint">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity-alias>
谢谢!但正如我所提到的,NewEntryPoint有一些逻辑,将再次导致MainActivity。产生一个永久的循环