Android 动态更改默认活动
我希望能够更改用户运行应用程序时运行的Android 动态更改默认活动,android,android-activity,Android,Android Activity,我希望能够更改用户运行应用程序时运行的活动 我知道如何在应用程序的清单文件中执行此操作,但我希望在安装后以编程方式执行此操作。原因是,我希望用户能够选择在打开应用程序时加载哪个屏幕 我该怎么做?我所知道的唯一方法似乎非常笨拙:有一个基本上为空的活动,其中包含MAIN intent过滤器,然后读取用户的设置并将用户转移到所需的活动。这会造成很多混乱,比如需要考虑后台堆栈,直接加载一个又一个活动的开销似乎浪费了时间和资源 您不能动态更改启动器活动 正如您所说的,可以通过保存用户首选项并每次启动所需的
活动
我知道如何在应用程序的清单文件中执行此操作,但我希望在安装后以编程方式执行此操作。原因是,我希望用户能够选择在打开应用程序时加载哪个屏幕
我该怎么做?我所知道的唯一方法似乎非常笨拙:有一个基本上为空的活动,其中包含MAIN intent过滤器,然后读取用户的设置并将用户转移到所需的活动。这会造成很多混乱,比如需要考虑后台堆栈,直接加载一个又一个活动的开销似乎浪费了时间和资源 您不能动态更改启动器活动
正如您所说的,可以通过保存用户首选项并每次启动所需的活动来实现。我已经试过了,而且速度很快,不会显示出来。不记得在主要活动中调用finish。它将解决后堆栈问题
您还可以为不同的活动使用不同的片段,并决定应该将哪个片段添加到主活动中。它可能更快。然而,正如我所说的,启动一个新活动并隐藏主活动足够快,因为它是在onCreate方法中完成的。别担心。这是唯一的办法。请记住,在开始新活动后,请完成空活动