如何在加载新版本

时间:2016-09-27 07:10:16

标签: xamarin xamarin.android xamarin.forms

我们正面临一个奇怪的问题。不确定它是否是现有应用程序的设计缺陷。感谢您的帮助/建议。

我们有一个Xamarin.forms应用程序。针对iOS和Android。

问题主要出现在Android应用中。

申请流程

  • 一旦我们从应用程序退出,应用程序就会打开注销活动并删除用户信息和其他数据。
  • 打开一个包含客户端SSO实施的登录新活动
  • 成功登录后,app正在设置用户信息并从Web服务获取数据。
  • 然后它调用LoadApplication方法,以便流程返回主应用程序

现在,如果用户多次执行logout / login,它会通过调用LoadApplication方法打开一个新的应用程序实例,然后显示主屏幕

因此,当用户点击主页中的按钮时,应用程序未关闭并显示相同应用程序的先前实例。 用户需要多次按下后退按钮(具体取决于用户执行注销登录的时间)。

有什么好办法阻止这个吗? 我们可以在调用LoadApplication之前关闭应用程序的当前实例吗?

坚持了很长时间。

2 个答案:

答案 0 :(得分:2)

我尝试避免再拨打LoadApplication一次。你应该控制导航堆栈。

鉴于你在LogoutPage

  • 通过PopToRootAsync
  • 删除所有观看次数
  • 显示LoginPage
await Navigation.PopToRootAsync(false);
await Navigation.PushAsync(new LoginPage(), true);

此博文可能值得一读:https://jfarrell.net/2015/01/22/understanding-xamarin-forms-navigation/

答案 1 :(得分:0)

请试试这个。

https://stackoverflow.com/a/36885388/1941942

[Activity (NoHistory = true)]
public class LoginActivity : Activity { }

在MainActivity上实现保存实例错误已经有一段时间了。