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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用libGDX在iOS / Android后台运行应用程序相关的知识,希望对你有一定的参考价值。

我正在使用libGDX,我想让我的应用程序保持运行,即使它已关闭以向用户发送推送通知/警报。我需要为iosandroid都这样做。

答案

您需要在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 } }

现在在你的gamelistener中你需要调用方法来在回调上启动服务。然后,回调实现将启动该服务。

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

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

以上是关于如何使用libGDX在iOS / Android后台运行应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何在 libGDX for Android 中使用 MultiDexApplication

使用 IntelliJ 在 Android 上用 Scala 编写的 LibGDX 项目

LibGDX - 将跨平台客户端连接到服务器(HTML5/GWT、iOS、Android 和桌面)

在 Libgdx 中嵌入浏览器

如何更改我的 android 游戏的图片/标志? - libGDX [重复]

在 Android 上使用来自 libGDX 的 SQLite