首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在没有onCreate方法的其他类中添加Interstitial AdMob out MainActivity?

如何在没有onCreate方法的其他类中添加Interstitial AdMob out MainActivity?
EN

Stack Overflow用户
提问于 2017-03-13 23:45:56
回答 1查看 839关注 0票数 0

我是爪哇的初学者。我在Eclipse和Android Studio上打开了Android游戏。当我想添加不包含onCreate方法的MainActivity类作为游戏示例: Pause - Menu ...的普通类时,当前对象new InterstitialAd (this);仍然带有红色下划线。

我能找人帮忙吗?这是要带到我的源代码中的所有数据。

代码语言:javascript
运行
复制
//Class PauseLayer :

import com.exemplapp.myapptetest.RacingActivity;
import com.exemplapp.myapptetest.scene.GameScene;
import com.exemplapp.myapptetest.scene.TitleScene;
import com.exemplapp.nodes.GrowButton;
import com.exemplapp.nodes.MyScene;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.InterstitialAd;
import org.cocos2d.nodes.CCDirector;
import org.cocos2d.nodes.CCSprite;
import org.cocos2d.transitions.CCFadeTransition;

public class PauseLayer extends MyScene {

    private InterstitialAd interstitial;

    public PauseLayer() {
        super();
        RacingActivity activity = (RacingActivity) CCDirector.sharedDirector().getActivity();
        activity.revmob();

        CCSprite sprBg = CCSprite.sprite(PATH_BG + "pause_bg-ipad.png");
        this.addChild(sprBg);
        sprBg.setPosition(SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2);

        GrowButton btnResume = GrowButton.buttonWithSpriteFileName(PATH_BTN
                + "btnResume-ipad.png", PATH_BTN + "btnResume-ipad.png",
                this, "onResume");
        this.addChild(btnResume);
        btnResume.setPosition(SCREEN_WIDTH / 2, 260 * 32 / 15);

        GrowButton btnReplay = GrowButton.buttonWithSpriteFileName(PATH_BTN
                + "btnReplay-ipad.png", PATH_BTN + "btnReplay-ipad.png",
                this, "onReplay");
        this.addChild(btnReplay);
        btnReplay.setPosition(SCREEN_WIDTH / 2, 220 * 32 / 15);

        GrowButton btnMenu = GrowButton.buttonWithSpriteFileName(PATH_BTN
                + "btnMenu1-ipad.png", PATH_BTN + "btnMenu1-ipad.png", this,
                "onMenu");
        this.addChild(btnMenu);
        btnMenu.setPosition(SCREEN_WIDTH / 2, 180 * 32 / 15);


//Admon Interstitial

        interstitial = new InterstitialAd(this);

        interstitial.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
        AdRequest adRequest = new AdRequest.Builder().build();
        interstitial.loadAd(adRequest);

        interstitial.setAdListener(new AdListener() {
            @Override
            public void onAdLoaded() {
                displayInterstitial();
            }
        });


    }

    private void displayInterstitial() {
        if (interstitial.isLoaded()) {
            interstitial.show();
        }
    }


    public void onResume(Object sender) {
        this.removeFromParentAndCleanup(true);
    }

    public void onReplay(Object sender) {
        CCDirector
                .sharedDirector()
                .replaceScene(
                        CCFadeTransition.transition(0.7f, GameScene
                                .scene(GameScene.sharedInstance().m_nGameMode)));
    }

    public void onMenu(Object sender) {
        CCDirector.sharedDirector().replaceScene(
                CCFadeTransition.transition(0.7f, TitleScene.scene()));
    }
}

//Certificate of AndroidManifest :

<uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">

        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

        <activity
            android:name="com.exemplapp.myapptetest.RacingActivity"
            android:label="@string/title_activity_sling_shot_racing"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.exemplapp.myapptetest.scene.game.PauseLayer"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
        <activity
            android:name="com.google.android.gms.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
            android:theme="@android:style/Theme.Translucent" />

    </application>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-14 00:32:01

用于对象创建传递上下文或活动的间隙广告方法。

这意味着我们可以传递上下文或活动

你可以这样写

代码语言:javascript
运行
复制
interstitial = new InterstitialAd(activity);

其中activity是在上面声明的RacingActivity,最终代码如下

代码语言:javascript
运行
复制
  public PauseLayer() {
     super();
     RacingActivity activity = (RacingActivity) CCDirector.sharedDirector().getActivity();
     activity.revmob();

    CCSprite sprBg = CCSprite.sprite(PATH_BG + "pause_bg-ipad.png");
    this.addChild(sprBg);
    sprBg.setPosition(SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2);

    GrowButton btnResume = GrowButton.buttonWithSpriteFileName(PATH_BTN
            + "btnResume-ipad.png", PATH_BTN + "btnResume-ipad.png",
            this, "onResume");
    this.addChild(btnResume);
    btnResume.setPosition(SCREEN_WIDTH / 2, 260 * 32 / 15);

    GrowButton btnReplay = GrowButton.buttonWithSpriteFileName(PATH_BTN
            + "btnReplay-ipad.png", PATH_BTN + "btnReplay-ipad.png",
            this, "onReplay");
    this.addChild(btnReplay);
    btnReplay.setPosition(SCREEN_WIDTH / 2, 220 * 32 / 15);

    GrowButton btnMenu = GrowButton.buttonWithSpriteFileName(PATH_BTN
            + "btnMenu1-ipad.png", PATH_BTN + "btnMenu1-ipad.png", this,
            "onMenu");
    this.addChild(btnMenu);
    btnMenu.setPosition(SCREEN_WIDTH / 2, 180 * 32 / 15);


   //Admon Interstitial

    interstitial = new InterstitialAd(activity);

    interstitial.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
    AdRequest adRequest = new AdRequest.Builder().build();
    interstitial.loadAd(adRequest);

    interstitial.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded() {
            displayInterstitial();
        }
    });


 }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42767832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档