【发布时间】:2014-08-31 03:30:01
【问题描述】:
我正在使用 libGDX,我希望即使应用程序关闭以向用户发送推送通知/警报,也能保持其运行。我需要为 iOS 和 Android 执行此操作。
【问题讨论】:
我正在使用 libGDX,我希望即使应用程序关闭以向用户发送推送通知/警报,也能保持其运行。我需要为 iOS 和 Android 执行此操作。
【问题讨论】:
您需要在 android 上实现一个服务并为其创建一个接口。基本上,这将是您游戏的平台相关代码。
创建接口AndroidPushNotificationServiceCallback;
public interface AndroidPushNotificationServiceCallback {
public void startService();
public void sendPushNotification();
public void stopService();
}
然后让您的主 GameListener 构造函数将此侦听器作为参数
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
}
}
现在在您的游戏监听器中,您需要在回调中调用该方法来启动服务。然后回调实现将启动服务。
这只是一个虚拟的例子。另外这种方法是通用的,在任何你想调用平台特定方法的情况下都可以使用它。
服务启动后,它可以设置警报和其他东西以定期调用代码(例如在您的情况下发送推送通知)
【讨论】: