2014-09-27 90 views
0

我希望能够在用户运行应用程序时更改运行哪个Activity动态更改默认活动

我知道如何在应用程序的清单文件中执行此操作,但我希望在安装后以编程方式执行此操作。原因是,我希望用户能够在打开应用程序时选择加载哪个屏幕。

我该怎么做?我知道的唯一方式似乎很笨重:有一个基本上为空的活动,它具有MAIN意图过滤器 - 然后读取用户的设置并将用户转移到所需的活动。这造成了很多混乱,就像后端堆栈需要考虑的那样,一个接一个地加载一个活动的开销似乎浪费了时间和资源。

+0

这是唯一的方法。记住在开始新活动之后完成空闲活动 – Blackbelt 2014-09-27 09:38:33

回答

1

您无法动态更改启动器活动。

正如您所说,可以通过保存用户首选项并每次启动所需的活动。我已经尝试过了,速度不够快,无法显示。不记得在主要活动中致电完成。它将解决堆栈问题。

此外,您可以针对不同的活动使用不同的片段,并决定将哪一个片段添加到主要活动中。它可能会更快。然而,正如我所说的,开始一项新活动并隐藏主要活动足够快,因为它是在onCreate方法中完成的。别担心。