Android 仅第一次运行Delphi FMX Form onCreate事件代码一次

Android 仅第一次运行Delphi FMX Form onCreate事件代码一次,android,delphi,firemonkey,oncreate,Android,Delphi,Firemonkey,Oncreate,我有一个Delphi应用程序,我的主窗体有一个onCreate事件,其中的代码我只想在应用程序第一次在计算机上打开时运行一次 假设我从Google Play Store或Microsoft Store下载应用程序并第一次运行它,那么我的onCreate代码必须运行。但是如果我再次打开应用程序,那么代码就不能再次运行 最好的方法是什么?我正在寻找一个跨平台的解决方案,将在所有支持FMX的平台上工作 (我只是想在某个地方创建一个隐藏的文本文件,如果它不存在,那就意味着应用程序是第一次打开的,因此运行

我有一个Delphi应用程序,我的主窗体有一个onCreate事件,其中的代码我只想在应用程序第一次在计算机上打开时运行一次

假设我从Google Play Store或Microsoft Store下载应用程序并第一次运行它,那么我的onCreate代码必须运行。但是如果我再次打开应用程序,那么代码就不能再次运行

最好的方法是什么?我正在寻找一个跨平台的解决方案,将在所有支持FMX的平台上工作


(我只是想在某个地方创建一个隐藏的文本文件,如果它不存在,那就意味着应用程序是第一次打开的,因此运行onCreate代码。还有其他想法或方法吗?)

我的结论是,只要在电脑上创建一个文本文件并检查它是否存在,就可以最简单、最快速地查看用户是否打开过应用程序


评论中确实有人提到在Android上使用SharedReferences,在iOS上使用NSUserDefaults,但我认为文本文件最适合我的情况。

这似乎很琐碎。只需在设备上保存一些内容,记录应用程序已打开,然后下次读取该值。为什么您认为在
OnCreate
中读取文件不是最佳解决方案?@jerrydoge是的。这就是我对文本文件所说的。我的第一个想法是在某处保存一个隐藏的文本文件。我不确定你所说的onCreate不是最好的解决方案,因为我没有说过这一点。我肯定在这里使用onCreate事件。可以使用完全相同代码的最简单解决方案如您所述。Android上的“正确”方法是使用SharedReferences,iOS上的“正确”方法是使用NSUserDefaults,Windows上的“正确”方法可能是注册表,我的意思是在创建时读取文件。请重新阅读我的评论。很明显,你需要在设备上保存一些东西,稍后再重新阅读。我很好奇,一旦应用程序确定是否已经运行,那么它将实际执行什么操作,至少在使用平台首选项机制时是正确的实现方法this@DavidHeffernan欢迎您使用跨平台代码给出答案解决方案我还没有把我的答案标记为正确。