Android libGDX的活套错误
我不太熟悉安卓系统的活动,以及它们是如何工作的;关于这个话题的任何指导都将是惊人的。我在将广告sdk与游戏集成时遇到问题。我将介绍几个类,以便充分理解我的代码。本质上,我正在尝试确定一种将StartApp sdk(广告sdk)与我的libGDX游戏集成的好方法。我得到的似乎是由startAppAd.show()引起的活套错误;和startAppAd.load();被召唤 下面是堆栈跟踪(提到一个ui线程,并在另一个线程上加载ad): 正如您可能看到的,我让这个活动实现了我创建的接口,然后我将活动本身传递给ApplicationListener,从而允许libGDX方法与该活动交互。 这就是接口;根据我数小时的研究,这是在libGDX中整合广告的最佳方式(但这些方式是针对类似的广告sdk而不是StartApp的): 最后是ApplicationListener(FreeTappGame类): 非常感谢您抽出时间。您需要打电话Android libGDX的活套错误,android,multithreading,android-activity,libgdx,ads,Android,Multithreading,Android Activity,Libgdx,Ads,我不太熟悉安卓系统的活动,以及它们是如何工作的;关于这个话题的任何指导都将是惊人的。我在将广告sdk与游戏集成时遇到问题。我将介绍几个类,以便充分理解我的代码。本质上,我正在尝试确定一种将StartApp sdk(广告sdk)与我的libGDX游戏集成的好方法。我得到的似乎是由startAppAd.show()引起的活套错误;和startAppAd.load();被召唤 下面是堆栈跟踪(提到一个ui线程,并在另一个线程上加载ad): 正如您可能看到的,我让这个活动实现了我创建的接口,然后我将活动
Looper.prepare();
确保在一个线程中只调用它一次。这对我很有用:
boolean looperprepare = false;
public void yourmethod(){
if (!looperprepare) {
Looper.prepare();
looperprepare = true;
}
....
}
我会删除此线程,因为这里有一个类似的问题: 但是在stackoverflow上没有太多startapp解决方案,我认为这个问题将有助于尝试集成startapp的人。我换了
@Override
public boolean showAds() {
startAppAd.load();
startAppAd.show();
return true;
}
与
我将startAppAd.load()放在initialize方法之后:
initialize(new FreeTappGame(this), cfg);
startAppAd.load();
这对我来说是个好办法;我希望这对某人有所帮助。我想出来了,我会尽快发布解决方案。当我这样做时,它会说我只能创建一个活套。不过我找到了一个有效的解决办法。我会在允许的时候发布它。
Looper.prepare();
boolean looperprepare = false;
public void yourmethod(){
if (!looperprepare) {
Looper.prepare();
looperprepare = true;
}
....
}
@Override
public boolean showAds() {
startAppAd.load();
startAppAd.show();
return true;
}
@Override
public boolean showAds() {
this.runOnUiThread(new Runnable() {
@Override
public void run() {
startAppAd.show();
}
});
return true;
}
initialize(new FreeTappGame(this), cfg);
startAppAd.load();