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

时间:2014-08-31 03:30:01

标签: java android ios libgdx

我正在使用libGDX,即使关闭了向用户发送推送通知/提醒,我仍希望我的应用程序继续运行。我需要为iOS和Android都这样做。

1 个答案:

答案 0 :(得分:0)

你需要在android上实现一个服务并为它创建一个接口。基本上这将是您的游戏的平台相关代码。

  1. 创建一个接口AndroidPushNotificationServiceCallback;

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

      public class MainGameListener extends ApplicationListener{
    
            public MainGameListener(AndroidPushNotificationServiceCallback callback)
    
            this.callback = callback;
       }
    
  3. 然后让你的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
    }
    
    }
    
  4. 现在在你的gamelistener中你需要调用方法来在回调上启动服务。然后,回调实现将启动该服务。

    这只是一个虚拟的例子。此外,这种方法是通用的,在任何你想要调用平台特定方法的情况下使用它。

    启动服务后,它可以设置警报和其他内容以定期调用代码(例如在您的情况下发送推送通知)