代码之家  ›  专栏  ›  技术社区  ›  Velson Infotech

Delphi Android服务在关闭Android应用程序后停止

  •  0
  • Velson Infotech  · 技术社区  · 2 年前

    我使用Delphi 12开发Android应用程序,并尝试在后台运行Service,以使用TCP套接字显示通知,从而接收来自服务器的频繁消息。但是,在关闭主流程应用程序后,该服务将被停用/关闭。

    下面提到了启动服务的代码:

    procedure TForm1.ButtonServiceStartClick(Sender: TObject);
    var
      ServiceIntent: JIntent;
    begin
      ServiceIntent := TJIntent.Create;
      ServiceIntent.setClassName(TAndroidHelper.Context, StringToJString('com.embarcadero.services.MyService'));
      TAndroidHelper.Context.startService(ServiceIntent);
    end;
    
    

    此外,我在中添加了以下服务信息 AndroidManifest.template.xml :

    <service android:enabled="true" android:exported="false" android:label="MyService"
      android:process=":remote" android:name="com.embarcadero.services.MyService">
    </service>      
    
    

    服务中的代码:

    function TDM.AndroidServiceStartCommand(const Sender: TObject;
      const Intent: JIntent; Flags, StartId: Integer): Integer;
    begin
      Result := TJService.JavaClass.START_STICKY;
    end;
    

    我试着用这个 Solution ,但无法编译。

    并试图在Android中实现Sleep Start命令/运行线程,但Android服务仍在关闭。

    是,我需要提到启动服务的不同标志,还是我需要添加额外的代码来一直运行服务,或者我们可以在服务被销毁后重新启动它,以及如何在销毁事件中处理代码?

    0 回复  |  直到 2 年前