![](/img/trans.png)
[英]Android app - want to show a toast the first time MainActivity's onCreate() is called, and NOT again when device rotated
[英]In Xamarin.Forms Android app the MainActivity.OnCreate is called again after pressing the device Back button then app icon?
在Xamarin.Forms Android应用程序中,按下设备的“后退”按钮退出应用程序,然后在应用程序运行列表中按应用程序图标或快照再次启动,将再次调用MainActivity.OnCreate。 因此,尽管该应用似乎仍保留在应用运行列表中,但所有状态都将丢失。 如果我按设备中间的按钮退出,然后再按应用程序图标再次启动,我会看到应用程序保留所有状态,因为未调用MainActivity.OnCreate,其中包含一些初始化代码。
问题1:为什么通过“后退”按钮和“中间”按钮退出应用程序会有区别? 虽然两种方法都使应用程序仍在运行。
问题2:使两种方式提供相同的应用程序行为是否值得/合法/常规?在再次激活时保持所有状态?
问题3:是,如何正确执行?
请参考: https : //docs.microsoft.com/en-us/xamarin/android/app-fundamentals/activity-lifecycle/
并且: https : //docs.microsoft.com/zh-cn/xamarin/xamarin-forms/app-fundamentals/app-lifecycle
问题1:为什么通过“后退”按钮和“中间”按钮退出应用程序会有区别? 虽然两种方法都使应用程序仍在运行。
在XF中,后退按钮可以在android上用于多种用途,例如从导航堆栈中弹出页面或退出并杀死该应用程序。 尽管该应用程序在按返回后仍显示为背景,但实际上已终止。 中间按钮将应用程序置于后台。
问题2:使两种方式提供相同的应用程序行为是否值得/合法/常规?在再次激活时保持所有状态?
这个问题是主观的,这取决于您要执行的操作。 但一般而言,不会。 遵守Android操作系统最佳做法很重要,因为用户希望设备上的按钮的行为与操作系统中的行为类似。
https://developer.android.com/distribute/best-practices/develop/
问题3:是,如何正确执行?
请参阅上面的链接。 这也是一个很好的资源: https : //docs.microsoft.com/en-us/xamarin/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.