0

ここhttps://developers.google.com/mobile-ads-sdk/docs/admob/advancedからインタースティシャルのコードをコピーしましたが、機能しません。アプリがメソッド interstitial.isLoaded() を呼び出すと、クラッシュします。これはlogcatです:

04-06 14:40:09.320  29704-30638/? W/dalvikvm﹕ threadid=16: thread exiting with uncaught exception (group=0x4145e438)
04-06 14:40:09.330  29704-30638/? E/AndroidRuntime﹕ FATAL EXCEPTION: Thread-3225
    java.lang.IllegalStateException: isLoaded must be called on the main UI thread.
            at bkm.b(SourceFile:174)
            at xx.e(SourceFile:210)
            at yh.onTransact(SourceFile:66)
            at android.os.Binder.transact(Binder.java:326)
            at com.google.android.gms.internal.ac$a$a.isReady(Unknown Source)
            at com.google.android.gms.ads.InterstitialAd.isLoaded(Unknown Source)
            at com.MyApp.GameActivity.displayInterstitial(GameActivity.java:75)
            at com.MyApp.GameActivity$GameView.onDraw(GameActivity.java:300)
            at com.MyApp.GameActivity$GameLoop.run(GameActivity.java:524)
04-06 14:40:09.330     441-4437/? W/ActivityManager﹕ Force finishing activity...

それはどのように可能ですか?このインタースティシャルを表示するにはどうすればよいか、順を追って説明していただけますか? 前もって感謝します

4

1 に答える 1

0

私のケースと解決策を共有する

他のスレッドから呼び出して、このエラーが発生しました。メッセージを使用して他のスレッドからメインスレッド(サービス/アクティビティ)に送信することで解決します。次に、メイン スレッドで isLoaded() を呼び出すメッセージ ハンドラを作成します。仕事です。

于 2016-01-18T00:19:40.730 に答える