小编S. *_*ell的帖子

为什么我在 UI 线程上运行时会收到“必须在主 UI 线程上调用 setAdListener”

我正在尝试向我的游戏添加插页式广告。它建立在书本的框架之上。构造函数是:

 public GameScreen(Game game) {
        super(game);
        world = new World();
        clueLetters = new String[10];
        levelNo = SettingsObject.levelUnlock;
        getWord();
        interstitialAd = new InterstitialAd(AndroidGame.context);
        interstitialAd.setAdUnitId("ca-app-pub-1861496496821617/");

        //Create an ad request
        AdRequest.Builder adRequestBuilder = new AdRequest.Builder();

        AndroidGame.activityReference.runOnUiThread(new Runnable() {
            @Override
            public void run()

            {
                // Set AdListener
                interstitialAd.setAdListener(new AdListener() {
                    @Override
                    public void onAdClosed() {
                        super.onAdClosed();
                    }
                });
            }
        });

        Looper.prepare();
        interstitialAd.loadAd(adRequestBuilder.build());

    }
Run Code Online (Sandbox Code Playgroud)

但是,我收到错误:

 java.lang.IllegalStateException: setAdListener must be called on the main UI thread.
Run Code Online (Sandbox Code Playgroud)

你能告诉我为什么我会收到这个错误以及如何解决它吗?

android admob

0
推荐指数
1
解决办法
2214
查看次数

标签 统计

admob ×1

android ×1