单击主页按钮时如何释放应用程序

How to free an app when clicking on the home button

我的某个应用程序有问题。当我打开我的应用程序并浏览它时。使用 phone 的主页按钮关闭它并重新打开应用程序 我收到 access violation at address 错误。此错误仅出现在使用组件 TMSFMXCheckGroup 的代码中。现在我有一些想法来解决它,但不知道它们是否好用。

  1. 当通过主页按钮关闭应用程序时,只需完全关闭应用程序,以便下次打开应用程序时清除缓存。

  2. 我想清空所有检查组,以便只有检查组重新开始。

  3. 当应用程序通过主页按钮关闭时,下次您打开它时,它会在应用程序的主页上开始。

我不知道这些解决方案之一是否有效以及我如何在我的代码中实现它。

如果有更好的解决方案请告诉我!

在此先感谢您的帮助。

我查看了其他问题和答案,但没有结果。 他们的解决方案对我不起作用,因为我的应用程序在 ios 和 android 上,所以我需要一个解决方案。

要对 android 下的主页按钮作出反应,您可以实施应用程序事件处理程序并对 WillBecomeInactive 或 WillBecomeForeground 作出反应,以 return 到应用程序的主屏幕。 我用这个方法在进入后台时保存我的数据,以防止在后台关闭应用程序时数据丢失。

事件处理程序是使用

安装的
IF TPlatformServices.Current.SupportsPlatformService(IFMXApplicationEventService, IInterface(AppEventSvc)) THEN
    AppEventSvc.SetApplicationEventHandler(HandleAppEvent);

在您的表单 oncreate 方法中。 事件处理程序本身可能如下所示:

FUNCTION Tmainform.HandleAppEvent(AAppEvent: TApplicationEvent; AContext: TObject): Boolean;
BEGIN
  IF (AAppEvent = TApplicationEvent.EnteredBackground) OR (AAppEvent = TApplicationEvent.WillBecomeInactive) THEN
  BEGIN
    // do any action here; 
  END
  ELSE IF (AAppEvent = TApplicationEvent.WillBecomeForeground) THEN
  BEGIN
    // do any action here; 
  END;
END;  

在你的情况下,我会选择 WillBecomeForeground。