激活后更改默认 activity

Change default activity after activation

我的 Android 应用程序目前有三个活动,其中两个用于登录。第一个用于授权设备并要求用户输入更多用户信息 (FullLogin),第二个一旦设备获得授权 (ReducedLogin),即被使用。

想法是向所有新用户显示 FullLogin activity,直到他们的设备获得授权。 ReducedLogin activity 将显示此后的所有登录。

这可能吗?我该怎么做?我在网上看到一些关于 preferences.xml 文件中的 using/accessing 值的帖子,但我不能 100% 确定这是否符合我的需要。

您无法修改清单,这将控制用户按下您的启动器图标时运行的内容。

您可以做的是让 "router" Activity 检查系统状态并启动您想要的真正 Activity。你必须在这里付出一些额外的努力来确保你不会在路由器和真实 activity 之间出现屏幕闪烁(从没有动画开始,不在路由器中设置内容视图,使用空白主题,可能还有其他事情)。

另一个解决方案是使用片段。 "main" activity 只是检查状态并添加正确的片段......完整或减少。

这个场景的表述相当笼统。存在许多可能的解决方案。

  1. 您可以将用户是否完全授权的信息保存在外部服务器上,每次启动应用程序时,您请求服务器然后显示相应的activity。

  2. 您可以将此信息本地存储在智能手机上(例如在 SharedPreferences 中),但出于安全原因,我宁愿推荐第一种方式。本地存储的一大优势可能是避免额外的互联网许可,因为您不必请求服务器。

  3. 您可以使用 cryptography 创建一个只能由授权用户解决的 challenge

  4. 您可以结合使用这些方法。