一般场景:
在使用 xamarin 开发 android 应用程序时,我们往往会多次崩溃应用程序,这种行为是完全可以接受和正常的。
但是有一段时间,当我从第一个活动导航到第二个活动时。如果应用程序崩溃,则在第二个活动中,然后在下一次运行时,应用程序从第二个活动开始,它应该从第一个活动开始。请注意第一个活动:mainLauncher 属性设置为 TRUE。
应用 :
1 st Activity = Splash Screen;
2 nd Activity = Login Screen; [sets a global appication variable User ID]
3 rd Activity = User Profile [fetch data from database using User ID];
4 th Activity = preference page, settings which saves username n password from login form.
==================================================== ==============================
问题 :
在运行应用程序时,流程应根据给定的活动进行,当我在登录页面上输入正确的凭据时,它会保存我的(int)UserID。并使用此 UserID 获取用户的详细信息并在第三个活动中显示它们。
但有时如果应用程序在第三个活动中崩溃,并且当我重新启动应用程序时,它不会从初始屏幕启动,而是从它崩溃的活动(第三个活动)或上一个活动(第三个活动的调用者)开始,并不总是LoginForm ) 从那里调用活动。
现在的问题是,由于我从未收到 LoginPage,因此从未输入登录详细信息,因此(int)UserID设置为0/NULL,因此没有从数据库中获取任何数据。将第三个活动(个人资料活动)的所有字段显示为空白
我的处理方案:
所以要处理这个我覆盖OnResume()并检查UserID,即如果 userID 为 0则加载LoginScreen。这工作得很好。
但是现在当我通过终止 processID 手动退出应用程序时,配置文件屏幕仍然存在,它调用 OnResume(); 再次。由于我已经注销它再次加载登录屏幕,....
这会循环进行。现在我无法通过杀死该应用程序来退出应用程序processID
,请帮助我找到解决此问题的方法
抱歉这么长的问题,但我没有找到比这更好的解释,希望我的朋友们不要介意。