【发布时间】:2014-12-31 16:37:35
【问题描述】:
我正在使用 andengine 并且在两个场景之间切换。我的意图是在过渡之间放置一个插页式广告。到目前为止,这是我的代码:
public void showGameOver(){
mainactivity=new MainActivity();
mainactivity.runOnUiThread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
interstitial = new InterstitialAd(mainactivity);
interstitial.setAdUnitId("MY AD UNIT ID");
AdRequest adRequest = new AdRequest.Builder().build();
interstitial.loadAd(adRequest);
if (interstitial.isLoaded()) {
interstitial.show();
}
}
});
interstitial.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
}
@Override
public void onAdClosed() {
// Proceed to the next level.
setCurrentScene(gameover);
res.engine.setScene(gameover);
gameover.loadResources();
gameover.create();
}
});
}
上面的代码(没有插页式广告代码)切换到我的游戏结束场景。当我放置插页式广告代码时,我的应用程序崩溃了。插页式广告应该显示广告,当它关闭时,应该显示我的游戏结束场景。我输入了正确的广告单元 ID。
Logcat 说:无法在未调用 looper.prepare() 的线程内创建处理程序。
我对此进行了搜索,解决方案指出我必须将它放在 runonuithread 方法上,我确实这样做了。 任何帮助将不胜感激。
【问题讨论】:
标签: android multithreading admob andengine