如何确保活动正在运行(AdMob interstitial)

时间:2013-11-04 08:40:45

标签: android android-activity admob interstitial

我在我的应用中实施了AdMob插页法,方法的工作原理如下:

  • 我在我的活动中构建广告对象。 (广告对象引用了该活动)
  • 在我的广告对象中,我会检查最后三个是否显示插页式广告 计时器的分钟数,如果没有显示,我就会显示出来 该活动的处理程序。
  • 如果活动被停止或销毁,我也会停止我的广告计时器

大多数情况下,此方案正常运行。但有时即使应用已退出,广告也会显示一次。

有没有办法从我的广告对象中检查活动是否真的在运行并且当前活动是否在屏幕上运行?

1 个答案:

答案 0 :(得分:0)

借助以下代码,您可以获得android中的顶级活动:

public static boolean isThisActivityOnTop(Context context,Class<?> activityClass){
    ActivityManager am = (ActivityManager) context
            .getSystemService(ACTIVITY_SERVICE);

    ActivityManager.RunningTaskInfo taskInfo = am.getRunningTasks(1)
            .get(0);

    String topActivityClass = taskInfo.baseActivity.getClassName();

    return topActivityClass.equalsIgnoreCase(activityClass.getName());
}

注意:代码未经过测试,请尝试(调试)。