Java 如何使用libGDX在iOS/Android上保持应用程序在后台运行

Java 如何使用libGDX在iOS/Android上保持应用程序在后台运行,java,android,ios,libgdx,Java,Android,Ios,Libgdx,我使用的是libGDX,我想让我的应用程序即使在关闭时也能继续运行,以便向用户发送推送通知/警报。我需要为iOS和Android都这样做。您需要在Android上实现一项服务,并为其创建一个接口。基本上,这将是游戏的平台依赖代码 创建接口AndroidPushNotificationServiceCallback public interface AndroidPushNotificationServiceCallback { public void startService(); pub

我使用的是libGDX,我想让我的应用程序即使在关闭时也能继续运行,以便向用户发送推送通知/警报。我需要为iOS和Android都这样做。

您需要在Android上实现一项服务,并为其创建一个接口。基本上,这将是游戏的平台依赖代码

  • 创建接口AndroidPushNotificationServiceCallback

    public interface AndroidPushNotificationServiceCallback {
    
    
    public void startService();
    
    public void sendPushNotification();
    
    public void stopService();
    
    }
    
  • 然后让您的主GameStener构造函数将此侦听器作为参数

      public class MainGameListener extends ApplicationListener{
    
            public MainGameListener(AndroidPushNotificationServiceCallback callback)
    
            this.callback = callback;
       }
    
  • 然后让你的android mainactivity实现这个接口

    public class MainActivity extends AndroidApplication implements AndroidPushNotificationServiceCallback{
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState); 
    
    AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
    cfg.useGL20 = true;
    cfg.useAccelerometer=false;        
    cfg.useCompass=false; 
    initialize(new MainGameListener(), cfg); 
    
    } 
    
    
    public void startService(){
        // start a service here
    }
    
    public void sendPushNotification(){
        // send push notifcations here
    }
    
    public void stopService(){
       // stop the service here
    }
    
    }
    
  • 现在,在gamelistener中,您需要调用该方法来启动回调上的服务。然后,回调实现将启动服务

    这只是一个虚构的例子。另外,这种方法是通用的,在任何需要调用特定于平台的方法的情况下都可以使用它

    一旦服务启动,它可以设置警报和其他东西来定期调用代码(比如在您的情况下发送推送通知)