来自默认视频播放器的插页式广告 onBackPressed

Interstitial Ad onBackPressed from default video player

我正在制作一个电视频道流媒体应用程序,当从列表视图中单击一个频道时,它会转到另一个 activity 并弹出播放器选择窗口,在选择播放器后播放视频。现在我正在实施 admob 插页式广告,它应该直接显示在 BackPressed 上,然后在关闭广告后转到我的 "Activity A"(第一个 activity)而不是第二个 activity B。它可以完美地工作但是当我按下后退按钮,它会转到第二个 activity 空白屏幕,然后再按后退按钮到 ad.How 我可以这样做以在默认选择的视频播放器的后按上显示广告。这是一些代码

活动 A

case 1:
                    i = new Intent(A.this, B.class);
                    i.putExtra("channel","http://id=HBO");
                    startActivity(i);
                    break;

Activity B

Bundle bundle = getIntent().getExtras();
    String channel = bundle.getString("channel");
    Uri uri = Uri.parse(channel);
    Intent intent = new Intent(Intent.ACTION_VIEW, uri);
    intent.setDataAndType(uri, "video/mp4");
    startActivity(intent);

和 onBackPressed

@Override
public void onBackPressed() {
    if (interstitial.isLoaded()) {
        interstitial.show();
    }
    super.onBackPressed();
}

如果广告已加载,您可以展示它,但您仍然会打电话给 super.onBackPressed()。这导致 activity 完成,return 到最后一个 activity。

您需要做的是添加一个 else 子句,只有当广告未加载时才会调用 super.onBackPressed();

然后您需要向您的插页式广告添加一个侦听器,它将侦听广告关闭事件并在那里调用 finish();