java - 在类(class)中添加广告 Admob 并从另一个 Activity/类(class)调用

标签 java android android-studio android-intent admob

我想在一个类中添加插页式广告横幅功能,并从其他类访问相同的功能。

我想在所有 Activity 类中调用它

我怎样才能实现这一目标?

package com.example....;
import ...


public class classAds{

private InterstitialAd mInterstitialAd;


public void mobileAds()
{
    MobileAds.initialize(this,
            "ca-app-pub-3940256099942544~3347511713");

    mInterstitialAd = new InterstitialAd(this);
    mInterstitialAd.setAdUnitId("ca-app-pub-.............");

}    

我尝试了这段代码,但“this”中的问题不被接受

我也尝试过改成

classAds.this
getContext()
getActivity()

最佳答案

我建议两种方法

1.像这样创建一个单独的Application类

public class ApplicationClass extends Application {

    private static ApplicationClass mInstance;

    public static Context getContext() {
        return mInstance;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        mInstance = this;
    }

}

然后像这样更改您的 ClassAds

public class classAds{

private InterstitialAd mInterstitialAd;


public void mobileAds()
{
    MobileAds.initialize(ApplicationClass.getContext,
            "ca-app-pub-3940256099942544~3347511713");

    mInterstitialAd = new InterstitialAd(ApplicationClass.getContext);
    mInterstitialAd.setAdUnitId("ca-app-pub-.............");

} 
  • 将 ClassAd 更改为

    public class classAds{
    
    private InterstitialAd mInterstitialAd;
    
    public void mobileAds(Activity activity)
    {
        MobileAds.initialize(activity,
                "ca-app-pub-3940256099942544~3347511713");
    
        mInterstitialAd = new InterstitialAd(activity);
        mInterstitialAd.setAdUnitId("ca-app-pub-.............");
    
       } 
    
  • 并在您的 Activity 类中调用该方法

    ClassAds classAds = new ClassAds;
    classAds.mobileAds(this);
    

    关于java - 在类(class)中添加广告 Admob 并从另一个 Activity/类(class)调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54031968/

    相关文章:

    java - 禁用警告变量可能尚未初始化?

    android retrolambda,语句lambda可以替换为表达式lambda

    java - 获取两个字符串日期之间的记录

    android - ForeignCollection 未使用查询生成器加载

    java - 如何在四个字符的十六进制字符串中显示 12 位二进制?

    android - 由于 gradle,无法在 Mac 上使用 android studio

    java - 在评估阶段使用 Gradle 插件配置属性

    java - SGE : Parallel Environment for a multithreaded java code

    java - java中repaint()方法的问题

    android - 将音频流式传输到 Android 电话